Möchte man ein Formular und Modul aus einer anderer Datei kopieren kann man dies mit VBA Code tun.
Option Explicit
Private Sub cmdKopieren_Click()
'Variablendeklaration
Dim strPfad As String
Dim wkbQuelle As Workbook
Dim wkbZiel As Workbook
Dim strModulname As String
'Modulnamen extrahieren
strModulname = Me.cmdKopieren.Name
strModulname = Replace(strModulname, "cmd", "")
'Pfad festlegen
strPfad = "C:\..." '***** HIER ÄNDERN WENN SICH DER PFAD ÄNDERT *****'
'Öffnen der Datei
Workbooks.Open strPfad & strModulname & ".xlsm"
'Quell- Zieldatei setzen
Set wkbQuelle = Workbooks(strModulname & ".xlsm")
Set wkbZiel = ThisWorkbook
'Export aus Quelle
wkbQuelle.VBProject.VBComponents("frm" & strModulname).Export "frm" & strModulname & ".frm"
wkbQuelle.VBProject.VBComponents("bas" & strModulname).Export "bas" & strModulname & ".bas"
wkbQuelle.VBProject.VBComponents("cls" & strModulname).Export "cls" & strModulname & ".cls"
'Module löschen falls schon vorhanden
On Error Resume Next
wkbZiel.VBProject.VBComponents.Remove wkbZiel.VBProject.VBComponents("bas" & strModulname)
wkbZiel.VBProject.VBComponents.Remove wkbZiel.VBProject.VBComponents("cls" & strModulname)
'Import in diese Datei
wkbZiel.VBProject.VBComponents.Import "frm" & strModulname & ".frm"
wkbZiel.VBProject.VBComponents.Import "bas" & strModulname & ".bas"
wkbZiel.VBProject.VBComponents.Import "cls" & strModulname & ".cls"
'Quelle wieder schließen
wkbQuelle.Close SaveChanges:=False
'temporäre Dateien löschen
Kill "frm" & strModulname & ".frm"
Kill "frm" & strModulname & ".frx"
Kill "frm" & strModulname & ".log"
Kill "bas" & strModulname & ".bas"
Kill "cls" & strModulname & ".cls"
End Sub