将单元格值复制到“ B”列中的第一个空单元格

时间:2019-05-15 18:39:16

标签: excel vba

如何将单元格值复制到B列中的第一个空单元格,因此,如果range(“ B22”)的值大于下面的复制内容

我的代码是

setTimeout

但是我将需要在B22及以下的单元格中复制10个或更多单元格,因此必须有另一种粘贴这些单元格的方法吗?

1 个答案:

答案 0 :(得分:1)

您可以制作一个循环,而不是尝试为每种可能的情况制作一个IF ELSE

类似

For i = 22 To 36 'Or however far you are willing to go down
    If Cells(i, 2) = "" Then '2 Here being column 2, or "B"
        Cells(i, 2) = cll
        Exit For 'Stop looking once we found the empty cell
    End If
Next i

我主要使用Range("B" & Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).Row)的变体形式
在最后使用的单元格之后查找第一个空单元格。但是,如果您的数据之间有空行,那将不起作用。

您也可以使用find

Set emptyRng = Range("B22:B" & Rows.Count).Find(What:="", lookat:=xlWhole)
emptyRng.Value = cll

和其他组合。在这里,我将Rows.Count设置为结束限制,只是为了显示一些选项。