复制并粘贴到以B59开头的下一个空行中



我之前在VBA中使用过这一行将数据粘贴到工作表的第一个空行

Sheets("Sheet1").Range("B" & Rows.Count).End(xlUp).Offset(1).PasteSpecial Paste:=xlValues

是否可以对其进行修改,以便将数据粘贴在以B59开头的第一个空行上?

这行代码正在查找B列中包含内容的最后一行,并粘贴到该行下面。

如果列B没有文本,你可以在单元格B58上添加任何内容,你的代码行将开始粘贴到B59,

如果B列已经有B59下面的文本,并且您想覆盖它,您应该添加一个循环或For,这样做:

For x = 59 To 100
Sheets("Sheet1").Range("B" & x).PasteSpecial Paste:=xlValues
Next

End方法返回范围所在的整行或整列的第一个非空单元格,因此例如显而易见的:

Range("B59:B" & Rows.Count).End(xlUp)

不在CCD_ 2处停止。

然而,这意味着

Range("B58").End(xlUp)

如果在小区B58之外没有任何内容,则将返回不同的范围,否则将返回相同的范围。

尝试

If Range("B59:B" & Rows.Count).End(xlUp) <> Range("B58").End(xlUp) Then
Sheets("Sheet1").Range("B" & Rows.Count).End(xlUp).Offset(1).PasteSpecial Paste:=xlValues
Else
Sheets("Sheet1").Range("B59").PasteSpecial Paste:=xlValues
EndIf

相关内容

最新更新