簡體   English   中英

在隱藏的工作表上運行的 Excel VBA 宏

[英]Excel VBA Macro to run on a hidden Sheet

我有連接到外部數據集的數據透視表。 我正在嘗試根據數據透視日期范圍內的最大日期值動態更新工作表/選項卡名稱。 我能夠讓它工作,但如果日期在數據透視中被過濾,它會改變。 我將相同的數據/樞軸放在另一個選項卡上,該選項卡僅顯示最大日期值並將其顯示在單元格“C1”中

=CONCATENATE("AS OF"," 
",TEXT(GETPIVOTDATA("CALL_DATE",MAX_TABLE!A1),"MM.DD.YYYY"))

這將 Sheet1 標記為“AS OF 08.15.2018”

我的問題是我不希望 max_table 選項卡可見,因此我將其隱藏。 因此,在我取消隱藏工作表之前,宏不會運行。 一旦它被取消隱藏它就會更新。 我試圖取消隱藏,運行宏然后再次隱藏,但它沒有按預期工作。 在下面它不是自己運行,而是在我取消隱藏工作表然后隱藏工作表后運行。

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Application.ScreenUpdating = False
Sheets("MAX_TABLE").Visible = True
Sheets("MAX_TABLE").PivotTables("MAX").PivotCache.Refresh
Set Target = Sheets("MAX_TABLE").Range("C1")
If Target = "" Then Exit Sub
Sheet1.Name = Left(Target, 31)
Sheets("MAX_TABLE").Visible = False
Application.ScreenUpdating = True
Exit Sub
End Sub

我的問題/問題並不是真正的問題。 我選擇了錯誤的子項。 它連接到 worksheet_selectionchange,所以它永遠不會運行,因為我總是必須點擊隱藏的工作表才能觸發它。 我使用了 sub worksheet_change ,它不一定是最好的,但它的工作原理是隱藏的工作表只更新一次,這會導致宏按預期運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM