繁体   English   中英

如何在变量中声明活动工作表?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM