Sub Remove_some_vba_code()
Dim activeIDE As Object 'VBProject
Set activeIDE = ActiveWorkbook.VBProject
Dim Element As VBComponent
Dim LineCount As Integer
For Each Element In activeIDE.VBComponents
If Left(Element.Name, 5) = "Sheet" Then 'change name if necessary
LineCount = Element.CodeModule.CountOfLines
Element.CodeModule.DeleteLines 1, LineCount
End If
Next
End Sub
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
2 回答
要删除所有
Sheet
模块中的完整代码,您可以尝试以下方法:另一种方法是将所有代码保留在工作表之外 . 然后你不必删除任何东西 . 工作表的代码模块是编写事件代码的便利位置,但您也可以创建自己的类模块来处理事件 . 把它放在一个标准模块中:
这将创建一个全局的CEvent实例,因此只要您的工作簿是打开的,它就不会丢失范围 . 它将代号为Sheet1的工作表分配给该类的This属性 . 使用此代码创建名为CEvent的类模块
WithEvents关键字公开该对象的事件 . 由于我们只是连接Sheet1的事件,因此激活另一个工作表不会触发代码 .