,你可以處理這個另一種方法是讓所有的代碼出來的工作表。那麼你不必刪除任何東西。工作表的代碼模塊是編寫事件的便利場所,但您也可以創建自己的類模塊來處理事件。將這個標準模塊中:
Public gclsEvent As CEvent
Sub Auto_Open()
Set gclsEvent = New CEvent
Set gclsEvent.This = Sheet1
End Sub
這將創建CEvent的實例,它是全球性的,所以它不會,只要你的工作簿打開失去範圍。它將代碼爲Sheet1的工作表分配給該類的This屬性。使用此代碼創建一個名爲CEvent的類模塊
Private WithEvents mwsThis As Worksheet
Public Property Set This(ByVal wsThis As Worksheet): Set mwsThis = wsThis: End Property
Public Property Get This() As Worksheet: Set This = mwsThis: End Property
Private Sub mwsThis_Activate()
Me.This.Copy , Me.This.Parent.Sheets(Me.This.Parent.Sheets.Count)
End Sub
WithEvents關鍵字公開該對象的事件。由於我們只是連接Sheet1的事件,因此激活另一個工作表不會觸發代碼。
如果你只是想擺脫整個VBA代碼,你可以簡單地將其保存爲'.xlsx'文件,並將完成。 – 2013-03-26 05:43:42
@KazJaw:這不是一個選項,因爲工作簿有許多其他必需的宏。 – 2013-03-26 05:48:57
@ user2063626我在問如何刪除工作表的VBA *代碼*。爲了避免混淆,我重新提出了這個問題。 – 2013-03-26 05:50:06