In diesem Artikel erstellen wir ein Makro zum Importieren eines Moduls in die aktive Arbeitsmappe.

Wir werden Filename.bas als Modul verwenden, das wir importieren möchten.

Klicken Sie auf die Schaltfläche Einfügen, um das Modul aus Filename.bas in die aktive Arbeitsmappe zu importieren.

ArrowMain

Die Arbeitsmappe enthält nur ein Modul „MainModule“.

ArrowMainModule

Nach dem Ausführen des Makros wird ein neues Modul aus Filename.bas

ArrowOutput

importiert

Logische Erklärung

In diesem Artikel haben wir zwei Makros erstellt, InsertVBComponent und Calling_Procedure

InsertVBComponent

Es nimmt den Arbeitsmappennamen und den Dateinamen als Eingaben und importiert das Modul in die Arbeitsmappe.

Calling_Procedure

Es wird verwendet, um das Makro InsertVBComponent mit der aktiven Arbeitsmappe und Dateiname.bas als Eingaben aufzurufen.

Code Erklärung

Wenn Dir (CompFileName) <> „“, wird der obige Code verwendet, um zu überprüfen, ob der Dateiname im Verzeichnis vorhanden ist.

wb.VBProject.VBComponents.Import CompFileName Der obige Code wird zum Importieren des Moduls in die aktive Arbeitsmappe verwendet.

Bitte folgen Sie unten für den Code

Option Explicit

Sub InsertVBComponent(ByVal wb As Workbook, ByVal CompFileName As String)

' Inserts the content of CompFileName as a new component in workbook

' CompFileName must be a valid VBA component suited for

' import (an exported VBA component)

'Checking whether CompFileName file exists

If Dir(CompFileName) <> "" Then



'Ignore errors

On Error Resume Next



'Inserts component from file

wb.VBProject.VBComponents.Import CompFileName



On Error GoTo 0

End If

Set wb = Nothing

End Sub

Sub Calling_Procedure()



'Calling InsertVBComponent procedure

InsertVBComponent ActiveWorkbook, "C:\Users\Ramandeep\Desktop\Filename.bas"



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]