Creați un nou modul folosind VBA în Microsoft Excel

Anonim

În acest articol, vom crea o macro pentru a insera un nou modul într-un registru de lucru Excel.

Înainte de a rula macro-ul, trebuie să specificăm tipul și numele modulului.

După cum se poate vedea în captura de ecran, avem un singur modul în registrul de lucru. În acest exemplu, vom adăuga modulul de clasă în registrul de lucru.

Explicație logică

În acest articol, am creat două macrocomenzi, „CreateNewModule” și „CallingProcedure”.

Macro-ul „CreateNewModule” este utilizat pentru a adăuga un nou modul, în funcție de intrarea furnizată.

Macrocomanda „CallingProcedure” este utilizată pentru a furniza intrarea și a apela modulul principal.

Explicarea codului

Setați ModuleComponent = Wbook.VBProject.VBComponents.Add (ModuleTypeIndex)

Codul de mai sus este utilizat pentru a adăuga un nou modul în proiectul VBA.

ModuleComponent.Name = NewModuleName

Codul de mai sus este folosit pentru a redenumi componenta inserată.

ModuleTypeConst = Cint (Range ("D12"). Valoare)

Codul de mai sus este utilizat pentru a obține valoarea întreagă din celula D12.

ModuleName = Sheet1.TextBox2.Value

Codul de mai sus este utilizat pentru a obține valoare din caseta de text.

Vă rugăm să urmați codul de mai jos

 Opțiune Explicit Sub CreateNewModule (ByVal ModuleTypeIndex As Integer, ByVal NewModuleName As String) "Declararea variabilelor Dim ModuleComponent Ca VBComponent Dim WBook Ca registru de lucru" Crearea obiectului din registrul de lucru activ Set WBook = ActiveWorkbook Set ModuleComponent = Nimic din eroare Reîncepe Setarea adăugării modulului nou ModuleComponent = WBook.VBProject.VBComponents.Add (ModuleTypeIndex) Dacă nu ModuleComponent nu este nimic, atunci 'Redenumirea noului modul ModuleComponent.Name = NewModuleName End If On Error GoTo 0 Set ModuleComponent = Nothing End Sub Sub CallingProcedure ()' Declare variabile Dim Mod Integer Dim ModuleName As String 'Obținerea valorii numelui modulului și tipul modulului ModuleTypeConst = CInt (Range ("D12"). Valoare) ModuleName = Sheet1.TextBox2.Value' Apelare CreateNewModule CreateNewModule ModuleTypeConst, ModuleName End Sub 

Dacă ți-a plăcut acest blog, distribuie-l prietenilor tăi de pe Facebook. De asemenea, ne puteți urmări pe Twitter și Facebook.

Ne-ar plăcea să aflăm de la dvs., să ne anunțați cum putem îmbunătăți munca noastră și o putem îmbunătăți. Scrieți-ne pe site-ul de e-mail