在VBA中声明活动工作表variables
我试图保留一个variables到VBA中当前打开的工作表。 到目前为止,我有
Dim Active As Worksheet Set Active = ActiveWorksheet
由于某种原因,它在最后一行给我一个错误,说对象需要。 我的代码打开一个新的工作表与活动工作表中的数据,所以我需要一个variables来保持我在当前活动工作表中的地方。 任何想法,为什么这是不正确的工作? 提前致谢!
您需要使用ActiveSheet
而不是ActiveWorksheet
我宁愿不要在VBA中使用ActiveSheet,因为如果再往下走,就开始编写使用多个工作表的代码,当试图确定哪一个是哪个时,会变得混乱。 我更喜欢以下
dim ws as Worksheet ws = Thisworkbook.Worksheets(1) OR ws = Thisworkbook.Worksheets("worksheet name")
我现在唯一使用Activesheet的是当我需要一些代码来处理任何工作表时,无论它包含什么,这是非常罕见的。 在这种情况下,如上所述使用:
dim ws as Worksheet ws = Thisworkbook.Activesheet OR ws = Activesheet
对于我而言,我喜欢直接与我要使用工作表(“工作表”)工作表交谈。
所以,如果你想从一个特定的表格中获取信息,你可以使用这个:
Dim ExampleWorksheet as Worksheet Dim Example as Integer Example = Sheets("ExampleWorksheet").Cells(x,y)
所以你摆脱了与活跃或不活跃的工作表混乱。