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