Izdzēsiet procedūru no moduļa, izmantojot Microsoft Excel VBA

Anonim

Šajā rakstā mēs izveidosim makro, lai no moduļa izdzēstu citu makro.

Mēs izmantojam Module1, kura parauga makro ir SampleProcedure, kuru vēlamies izdzēst.

Koda skaidrojums

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

Iepriekš minēto kodu izmanto, lai izveidotu definētā moduļa objektu.

ProcStartLine = VBCM.ProcStartLine (Procedūras nosaukums, vbext_pk_Proc)

Iepriekš minēto kodu izmanto, lai iegūtu definētās procedūras sākuma rindas numuru.

ProcLineCount = VBCM.ProcCountLines (Procedūras nosaukums, vbext_pk_Proc)

Iepriekš minēto kodu izmanto, lai noteiktu rindu skaitu noteiktā procedūrā.

VBCM.DeleteLines ProcStartLine, ProcLineCount

Iepriekš minēto kodu izmanto, lai definētās procedūras ietvaros izdzēstu visas rindas.

Lūdzu, sekojiet tālāk norādītajam kodam

 Opcija Explicit Sub DeleteProcedureCode (ByVal DeleteFromModuleName As String, ByVal ProcedūraName Kā String) 'Mainīgo lielumu deklarēšana Dim VBCM kā CodeModule, ProcStartLine As Long, ProcLineCount As Long Dim WB kā darbgrāmata par kļūdu Atsākt "Aktīvās darbgrāmatas komplekta objekta izveide" WB darbgrāmatas moduļa objekts Iestatiet VBCM = WB.VBProject.VBComponents (DeleteFromModuleName) .CodeModule 'Pārbaude, vai procedūra pastāv kodmodulī Ja nav VBCM nav nekas, tad ProcStartLine = 0' Funkcija, kas piešķir rindu Nr. no procedūras sākuma līnijas ProcStartLine = VBCM.ProcStartLine (Procedūras nosaukums, vbext_pk_Proc) Ja ProcStartLine> 0 Tad 'Funkcija piešķir nr. no rindām procedūrā ProcLineCount = VBCM.ProcCountLines (ProcedūrasNosaukums, vbext_pk_Proc) 'Izdzēsiet visas procedūras VBCM rindas. DeleteLines ProcStartLine, ProcLineCount End If Set VBCM = Nothing End If On Error Dim ModuleName, Procedūras nosaukums kā virkne 'Moduļa un procedūras nosaukuma vērtības iegūšana no tekstlodziņiem ModuleName = Sheet1.TextBox1.Value ProcedūraNosaukums = Sheet1.TextBox2.Value' Calling DeleteProcedureCode macro DeleteProcedureCode ModuleName, Procedūras nosaukums Beigu apakšdaļa 

Ja jums patika šis emuārs, kopīgojiet to ar saviem draugiem Facebook. Varat arī sekot mums Twitter un Facebook.

Mēs labprāt uzklausītu jūsu viedokli, dariet mums zināmu, kā mēs varam uzlabot savu darbu un padarīt to labāku jums. Rakstiet mums e -pasta vietnē