In diesem Artikel erstellen wir ein Makro zum Einfügen eines neuen Moduls in eine Excel-Arbeitsmappe.

Bevor wir das Makro ausführen, müssen wir den Typ und den Namen des Moduls angeben.

ArrowMain

ArrowRaw

Wie Sie im Screenshot sehen können, haben wir nur ein Modul in der Arbeitsmappe. In diesem Beispiel fügen wir der Arbeitsmappe ein Klassenmodul hinzu.

ArrowOutput

Logische Erklärung

In diesem Artikel haben wir zwei Makros erstellt: „CreateNewModule“ und „CallingProcedure“.

Das Makro „CreateNewModule“ wird verwendet, um abhängig von der bereitgestellten Eingabe ein neues Modul hinzuzufügen.

Das Makro „CallingProcedure“ wird verwendet, um die Eingabe bereitzustellen und das Hauptmodul aufzurufen.

Code Erklärung

Setzen Sie ModuleComponent = Wbook.VBProject.VBComponents.Add (ModuleTypeIndex)

Der obige Code wird verwendet, um ein neues Modul im VBA-Projekt hinzuzufügen.

ModuleComponent.Name = NewModuleName Mit dem obigen Code wird die eingefügte Komponente umbenannt.

ModuleTypeConst = Cint (Bereich („D12“). Wert)

Der obige Code wird verwendet, um einen ganzzahligen Wert aus der Zelle D12 abzurufen.

ModuleName = Sheet1.TextBox2.Value Der obige Code wird verwendet, um den Wert aus dem Textfeld abzurufen.

Bitte folgen Sie unten für den Code

Option Explicit

Sub CreateNewModule(ByVal ModuleTypeIndex As Integer, ByVal NewModuleName As String)

'Declaring variables

Dim ModuleComponent As VBComponent

Dim WBook As Workbook

'Creating object of active workbook

Set WBook = ActiveWorkbook

Set ModuleComponent = Nothing



On Error Resume Next

'Adding new module component

Set ModuleComponent = WBook.VBProject.VBComponents.Add(ModuleTypeIndex)

If Not ModuleComponent Is Nothing Then

'Renaming the new module

ModuleComponent.Name = NewModuleName

End If

On Error GoTo 0

Set ModuleComponent = Nothing

End Sub

Sub CallingProcedure()

'Declare variables

Dim ModuleTypeConst As Integer

Dim ModuleName As String

'Getting value of module name and type of module

ModuleTypeConst = CInt(Range("D12").Value)

ModuleName = Sheet1.TextBox2.Value

'Calling CreateNewModule

CreateNewModule ModuleTypeConst, ModuleName

End Sub

Wenn dir dieser Blog gefallen hat, teile ihn mit deinen Freunden auf Facebook und Facebook.

Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]