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

时间:2014-12-16 18:27:43

标签: excel vba excel-vba

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

我找到了最后一行填充的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

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

3 个答案:

答案 0 :(得分:1)

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

选择ColumnB,Ctrl + G,Special,选中空白,OK,=Down,Ctrl + Enter。

答案 1 :(得分:1)

我真的很喜欢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

答案 2 :(得分:-1)

尝试这样的事情,根据自己的喜好进行编辑:

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