簡體   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