除了在VBA中选择的其他方法

时间:2015-03-12 18:28:14

标签: vba excel-vba excel

x.Worksheets("Sheet1").Activate
Range("A65536").Select 
ActiveCell.End(xlUp).Select
lastrow = ActiveCell.Row 
Range("A2:A" & lastrow).Copy y.Worksheets("Sheet1").Range("a65536").End(xlUp).Offset(1, 0)
Range("B2:B" & lastrow).Copy y.Worksheets("Sheet1").Range("b65536").End(xlUp).Offset(1, 0)

我已经阅读了几个地方,建议不要使用select进行复制粘贴,如果没有选择,怎么办呢?

2 个答案:

答案 0 :(得分:2)

与您的代码完全相似:

lastRow = x.worksheets("Sheet1").range("A65536").end(xlup).row

由于评论建议采用更好的做法而添加:

with x.worksheets("Sheet1")
    lastRow = .Cells(.Rows.Count, 1).End(xlup).Row
end with

答案 1 :(得分:2)

您可以设置lastRow = x.worksheets("sheet1").Cells(Rows.Count, "A").End(xlUp).Row + 1

您需要列中的第一个空单元格,而不是最后一个单元格