Excel 如何获取行计数并在范围内使用

Excel 如何获取行计数并在范围内使用,excel,vba,Excel,Vba,我试图获取电子表格中的行数,然后使用该数字选择一个范围,如下所示: 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
所以基本上,我试图将C1的内容复制到A列和C列中的每个单元格中。但是,在我的Range语句中使用C:C和A:A会导致在粘贴时添加额外的行。所以我真的需要能够得到行数,然后在范围内使用它。有人能帮我吗

谢谢

杰西
如果我没弄错的话,这段代码不应该编译。您的代码如下:

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

这忽略了选择、激活、粘贴等操作的低效性,但它解决了您的问题,或者至少应该解决,除非我确实遗漏了什么。

我认为您不应该封装变量。RangeC2:C&lastrow.SelectAh,捕捉得好,我甚至没有注意到&lastrow在字符串文本中D@A.S.H这发生在我们中最优秀的人身上:
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