[英]How to declare an Active Worksheet in a variable?
我试图在 VBA 中为当前打开的工作表保留一个变量。 到目前为止我有
Dim Active As Worksheet
Set Active = ActiveWorksheet
出于某种原因,它在最后一行给了我一个错误,说需要对象。 我的代码打开了一个新工作表,其中包含活动工作表中的数据,因此我需要一个变量来保持我在当前活动工作表中的位置。 知道为什么这不能正常工作吗?
您需要使用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
对我来说,我喜欢使用 Sheet("Worksheet") 直接与我想要寻址的工作表对话。
因此,如果您想从特定工作表中获取信息,您可以使用以下命令:
Dim ExampleWorksheet as Worksheet
Dim Example as Integer
Example = Sheets("ExampleWorksheet").Cells(x,y)
因此,您可以摆脱使用活动或非活动工作表的麻烦。
暗淡作为工作簿
将 bradsht 调暗为工作表
If Right(myfile, 4) = ".xls" Then
Set bradouts = Workbooks.Open(myfolder & myfile)
万一
设置 bradsht = bradouts.ActiveSheet <------
它在我指向箭头的地方显示错误,有人可以解释一下....我在这里发布它是因为它不允许我直接提问。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.