excel VBA中的活动表

时间:2015-11-21 01:25:19

标签: excel-vba vba excel

我喜欢简单问题的应用,我只是编程的新手。 excel VBA中的Activesheet是否意味着如果您有代码

Sheets("Point Assignments").Select
lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Range("B2:B" & lastrow).Select
Application.CutCopyMode = False
Selection.Copy

ActiveSheet将是" Point Assignments"

另外,在lastrow = ActiveSheet.Cells(Rows.Count,1).End(xlUp).Row是什么意思.END(xlup)。行

非常感谢您的帮助

此致 肯尼斯

1 个答案:

答案 0 :(得分:1)

是的,但使用ActiveSheet而不是明确引用特定工作表并不能提供良好的代码。

在较大的项目中很难跟踪哪个表在任何给定时间都处于活动状态,特别是如果您正在调用与工作簿交互的其他过程,并且可能使工作簿处于与它开始的地方。

所以 - 更好的方法是:

With Sheets("Point Assignments")
    lastrow = .Cells(.Rows.Count, 1).End(xlUp).Row
    .Range("B2:B" & lastrow).Copy
End With

或更简单:

With Sheets("Point Assignments")
    .Range(.Range("B2", .Cells(.Rows.Count, 1).End(xlUp)).Copy
End With