Ištrinkite procedūrą iš modulio, naudodami „Microsoft Excel“ VBA

Anonim

Šiame straipsnyje mes sukursime makrokomandą, kad ištrintume kitą makrokomandą iš modulio.

Mes naudojame „Module1“, kuriame kaip pavyzdinė makrokomanda yra „SampleProcedure“, kurią norime ištrinti.

Kodo paaiškinimas

Nustatykite VBCM = WB.VBProject.VBComponents (DeleteFromModuleName) .CodeModule

Aukščiau pateiktas kodas naudojamas apibrėžto modulio objektui sukurti.

ProcStartLine = VBCM.ProcStartLine (Procedūros pavadinimas, vbext_pk_Proc)

Aukščiau pateiktas kodas naudojamas norint gauti nustatytos procedūros pradžios eilutės numerį.

ProcLineCount = VBCM.ProcCountLines (Procedūros pavadinimas, vbext_pk_Proc)

Aukščiau pateiktas kodas naudojamas norint nustatyti eilučių skaičių pagal nustatytą procedūrą.

VBCM.DeleteLines ProcStartLine, ProcLineCount

Aukščiau pateiktas kodas naudojamas ištrinti visas eilutes pagal nustatytą procedūrą.

Sekite toliau pateiktą kodą

 Parinktis „Explicit Sub DeleteProcedureCode“ („ByVal DeleteFromModuleName As String“, „ByVal ProcessName As String“) „Deklaruojantys kintamieji Dim VBCM kaip CodeModule,„ ProcStartLine As Long “,„ ProcLineCount As Long Dim WB As Workbook On Error “Tęsti Toliau„ Aktyvaus darbaknygės rinkinio kūrimas WB = Darbaknygės modulio objektas Nustatykite VBCM = WB.VBProject.VBComponents (DeleteFromModuleName). procedūros pradžios eilutės ProcStartLine = VBCM.ProcStartLine (Procedūros pavadinimas, vbext_pk_Proc) Jei ProcStartLine> 0 Tada 'Funkcija priskiria Nr. procedūrų eilutės ProcLineCount = VBCM.ProcCountLines (Procedūros_pavadinimas, vbext_pk_Proc) 'Ištrinkite visas eilutes procedūroje VBCM.DeleteLines ProcStartLine, ProcLineCount End If Set VBCM = Nothing End If On Error GoTo 0 End Sub Sub CallingProcedure Dim ModuleName, ProcedūraPavadinimas kaip eilutė 'Modulio ir procedūros pavadinimo reikšmės gavimas iš teksto laukelių ModuleName = Sheet1.TextBox1.Value ProcedūraName = Sheet1.TextBox2.Value' Skambinimas DeleteProcedureCode makrokomanda DeleteProcedureCode ModuleName, Procedūros pavadinimas Pavadinimas 

Jei jums patiko šis tinklaraštis, pasidalykite juo su draugais „Facebook“. Be to, mus galite sekti „Twitter“ ir „Facebook“.

Mes norėtume išgirsti jūsų nuomonę, praneškite mums, kaip galime pagerinti savo darbą ir padaryti jį geresnį. Rašykite mums el