【问题标题】: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

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

【问题讨论】:

    标签: vba excel


    【解决方案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
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-06-09
          • 1970-01-01
          • 2019-11-21
          • 1970-01-01
          • 2019-11-21
          • 2015-05-13
          • 1970-01-01
          相关资源
          最近更新 更多