我有一個問題,如果我想要做的事情是可能的。創建一個新的工作表並自動插入一個事件
我有一個工作簿和一個在該工作簿中創建新工作表的宏。 但我需要這些工作表內的事件(停用工作表)。
示例:我的宏創建名爲「Resources_1」,「Resources_2」,「Resources_3」的工作表(並且可以在稍後創建更多工作表)。每個工作表都有一個事件Worksheet_Deactivate和一行代碼。
也許你們中的任何人都有一個想法如何做到這一點?如果有可能做到?
編輯:
正如羅裏建議,我試圖做一個工作簿級事件,但它不工作。關閉任何工作表(除了其中的4個),我想隱藏它。
我在 '的ThisWorkbook' 模塊代碼:
Public wsEvent As Worksheet
Private Sub Worksheet_Activate()
If wsEvent.Name <> "General" And wsEvent.Name <> "Projects" <> wsEvent.Name <> "Resources" And wsEvent.Name <> "ResourcesProjects" Then
Set wsEvent = ActiveSheet
End If
End Sub
Private Sub Worksheet_Deactivate()
If wsEvent.Name <> "General" And wsEvent.Name <> "Projects" <> wsEvent.Name <> "Resources" And wsEvent.Name <> "ResourcesProjects" Then
wsEvent.Visible = xlSheetHidden
End If
End Sub
這是可能的,但我會建議,而不是您使用已在代碼中有一個模板片和複製,或使用一個工作簿級別的事件,而不是將被觸發中的所有表書(如果喲你需要排除幾個,你的代碼可以檢查名單或工作表的屬性。 – Rory
@ Rory建議的一個工作簿級別的事件,檢查觸發它的工作表是否以「資源」開頭,聽起來像是正確的方法。維護起來會容易得多。 –
不錯的主意,謝謝你,但我有一些麻煩。我編輯了我的問題,並在那裏添加了我的代碼,也許有人可以幫忙? – GohanP