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

时间:2017-07-05 17:28:11

标签: excel-vba vba excel

我正在尝试获取电子表格中的行数,然后使用该数字来选择范围:

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会导致在粘贴时添加额外的行。所以我真的需要能够得到行数,然后在范围内使用它。有人可以帮我这个吗?

谢谢,

  • 杰西

1 个答案:

答案 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等的低效率,但它解决了你的问题(或者至少应该,除非我真的错过了什么)。