在列中查找值,填充'直到非空白单元格

Posted

技术标签:

【中文标题】在列中查找值,填充\'直到非空白单元格【英文标题】:Find Value in Column, Fill Up 'till Non-Blank Cell在列中查找值,填充'直到非空白单元格 【发布时间】:2014-12-16 18:27:43 【问题描述】:

我无法找到使用宏执行以下操作的方法:

我正在查找 Col A 的最后填充行并将一列偏移以在 B 列中粘贴一个值。我想获取放在 Col B 中的文本并填充/复制到所有空白它上面的单元格,直到一个非空白单元格。

每个循环在 B 列中插入一个不同的字符串,这就是为什么我希望找到一种方法将该字符串粘贴到该行直到它碰到一个非空白单元格,

例如:

A                  B
Header        Header
9/30/14
9/30/14
9/30/14
9/30/14        text1
9/30/14
9/30/14
9/30/14
9/30/14        text2

看起来像:

A                  B
Header        Header
9/30/14        text1
9/30/14        text1
9/30/14        text1
9/30/14        text1
9/30/14        text2
9/30/14        text2
9/30/14        text2
9/30/14        text2

抱歉,如果这非常令人困惑!任何帮助将不胜感激!

【问题讨论】:

【参考方案1】:

不使用宏(虽然可以录制):

选择ColumnB,Ctrl+G,Special,勾选Blank,OK,=Down,Ctrl+Enter。

【讨论】:

【参考方案2】:

我非常喜欢 pnuts 的解决方案,并且建议如果您的数据如图所示简单,那么如果您正在寻找 VBA 解决方案,这段 VBA 代码也应该能够提供所需的结果:

Sub tgr()

    Dim rngBlanks As Range
    Dim BlankArea As Range

    Set rngBlanks = Range("B1", Cells(Rows.Count, "B").End(xlUp)).SpecialCells(xlCellTypeBlanks)

    For Each BlankArea In rngBlanks.Areas
        BlankArea.Value = BlankArea.Cells(1).Offset(BlankArea.Cells.Count).Value
    Next BlankArea

End Sub

【讨论】:

【参考方案3】:

试试这样的东西,根据你的口味进行编辑:

Sub answer()
    lastA = Range("A65000").End(xlUp).Row
    lastB = Range("B" & lastA).End(xlUp).Row + 1
    value2Paste = "Whatever U want"
    Range("B" & lastB & ":B" & lastA) = value2Paste
End Sub

【讨论】:

以上是关于在列中查找值,填充'直到非空白单元格的主要内容,如果未能解决你的问题,请参考以下文章

当必须使用同一列中的不同值填充单元格时,如何填写该列中的空白单元格?

使用另一列中的值填充空白 Excel 单元格?

使用第一个空白上方单元格中的值填充非连续空白单元格

在列中找到下一个空单元格时避免合并单元格

VBA用上面的单元格替换值直到空白并循环

是否有一个数组公式可以用上面单元格的内容填充列中的所有空白单元格?