我喜欢简单问题的应用,我只是编程的新手。 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)。行
非常感谢您的帮助
此致 肯尼斯
答案 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