我正在尝试获取电子表格中的行数,然后使用该数字来选择范围:
Dim lastrow As Long
lastrow = Cells(Rows.Count, "A").End(xlUp).Row
Range("C1").Select
ActiveCell.Copy
Range("C2:C & lastrow").Select
ActiveSheet.Paste
Range("A2:A & lastrow").Select
ActiveSheet.Paste
所以基本上我试图将C1的内容复制到A列和C列中的每个单元格中。但是,在我的Range语句中使用C:C和A:A会导致在粘贴时添加额外的行。所以我真的需要能够得到行数,然后在范围内使用它。有人可以帮我这个吗?
谢谢,
答案 0 :(得分:1)
如果我没弄错的话,这段代码不应该编译。你的代码是:
Dim lastrow As Long
lastrow = Cells(Rows.Count, "A").End(xlUp).Row
Range("C1").Select
ActiveCell.Copy
Range("C2:C & lastrow").Select ' <----
ActiveSheet.Paste
Range("A2:A & lastrow").Select ' <----
ActiveSheet.Paste
它应该是:
Dim lastrow As Long
lastrow = Cells(Rows.Count, "A").End(xlUp).Row
Range("C1").Select
ActiveCell.Copy
Range("C2:C" & lastrow).Select
ActiveSheet.Paste
Range("A2:A" & lastrow).Select
ActiveSheet.Paste
这忽略了Select,Activate,Paste等的低效率,但它解决了你的问题(或者至少应该,除非我真的错过了什么)。