,你可以处理这个另一种方法是让所有的代码出来的工作表。那么你不必删除任何东西。工作表的代码模块是编写事件的便利场所,但您也可以创建自己的类模块来处理事件。将这个标准模块中:
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