|
本帖最后由 lss001 于 2024-9-21 07:37 编辑
Sub 删除指定表格或模块中的指定过程()
Dim d&, hName$, cName$, wk As Object
Dim shtN$, vbc As VBComponent, x&, y&
Set wk = ThisWorkbook
'指定表格名****CodeName***
shtN = wk.Worksheets("Sheet1").CodeName
Set vbc = wk.VBProject.VBComponents(shtN)
cName = "宏1" '指定删除过程名/宏名
With vbc.CodeModule
d = .CountOfDeclarationLines + 1
While d < .CountOfLines
hName = .ProcOfLine(d, 0) '过程名
x = .ProcStartLine(hName, 0) '开始行
y = .ProcCountLines(hName, 0) '总行数
d = x + y '开始行+总行数
'判断是否为指定过程
If hName = cName Then
'删除指定过程所在的行
Call .DeleteLines(x, y)
Exit While
End If
Wend
End With
Set vbc = Nothing
Set wk = Nothing
End Sub
|
|