我之前在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