weiß jemand einen besseren Weg, eine ganze Reihe von Modulen (und Formulare) in eine andere Mappe zu bekommen als sie zu exportieren? Und das möglichst automatisch?
Liebe Grüße,
Ulli
Private Sub CommandButton15_Click()
Dim strPath As String, strNewBookName As String
Dim vbc As Object
strPath = Application.Path & "\"
On Error GoTo Errorhandler
Workbooks.Add
strNewBookName = ActiveWorkbook.Name
ThisWorkbook.Activate
With ActiveWorkbook.VBProject
For Each vbc In .VBComponents
' Wenn Type = 1 dann ist es ein Standardmodul.
' Wenn Type = 3 dann ist es ein Userform
If vbc.Type = 1 Or vbc.Type = 3 Then
vbc.Export strPath & vbc.Name & ".txt"
Workbooks(strNewBookName).VBProject.VBComponents.Import strPath & vbc.Name & ".txt"
Kill strPath & vbc.Name & ".txt"
End If
Next vbc
End With
MsgBox "Module wurde kopiert!"
Exit Sub
' Bei Fehlernummer 1004, diese Meldung ausgeben.
Errorhandler:
If Err.Number = 1004 Then
MsgBox "Das kopieren des VBA Moduls ist fehlgeschlagen!" & vbCr & _
"Bitte überprüfen Sie folgende Einstellung! " & vbCr & _
"EXTRAS -> MAKRO -> SICHERHEIT -> Vertrauenwürdige Quellen." & vbCr & _
"'Zugriff auf Visual Basic Projekt vertrauen' muss aktiviert sein! ", vbCritical, _
" Meldung vom Makro Module exportieren!"
Else
MsgBox "Err.Number = " & Err.Number & ". " & Err.Description, vbCritical
End If
' Fehlernummer löschen.
Err.Clear
End Sub
Um Module und UserForms in Excel effizient zu kopieren, kannst Du ein VBA-Makro verwenden. Folge dieser Anleitung:
Öffne den VBA-Editor: Drücke ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject (deine Datei)" und wähle Einfügen > Modul
.
Füge den folgenden Code ein:
Private Sub CommandButton15_Click()
Dim strPath As String, strNewBookName As String
Dim vbc As Object
strPath = Application.Path & "\"
On Error GoTo Errorhandler
Workbooks.Add
strNewBookName = ActiveWorkbook.Name
ThisWorkbook.Activate
With ActiveWorkbook.VBProject
For Each vbc In .VBComponents
If vbc.Type = 1 Or vbc.Type = 3 Then
vbc.Export strPath & vbc.Name & ".txt"
Workbooks(strNewBookName).VBProject.VBComponents.Import strPath & vbc.Name & ".txt"
Kill strPath & vbc.Name & ".txt"
End If
Next vbc
End With
MsgBox "Module wurde kopiert!"
Exit Sub
Errorhandler:
If Err.Number = 1004 Then
MsgBox "Das kopieren des VBA Moduls ist fehlgeschlagen!" & vbCr & _
"Bitte überprüfen Sie folgende Einstellung! " & vbCr & _
"EXTRAS -> MAKRO -> SICHERHEIT -> Vertrauenwürdige Quellen." & vbCr & _
"'Zugriff auf Visual Basic Projekt vertrauen' muss aktiviert sein!", vbCritical, _
"Meldung vom Makro Module exportieren!"
Else
MsgBox "Err.Number = " & Err.Number & ". " & Err.Description, vbCritical
End If
Err.Clear
End Sub
Führe das Makro aus: Klicke auf den CommandButton15
, um die Module zu kopieren.
Fehler 1004: Dieser Fehler tritt auf, wenn die Einstellung für den Zugriff auf das Visual Basic-Projekt nicht aktiviert ist. Gehe zu EXTRAS -> MAKRO -> SICHERHEIT -> Vertrauenwürdige Quellen
und aktiviere die Option „Zugriff auf Visual Basic-Projekt vertrauen“.
Module werden nicht kopiert: Stelle sicher, dass Du die richtige Datei aktiv hast und dass die Module nicht durch eine andere Sicherheitseinstellung blockiert werden.
Eine einfache Methode, um Module zu kopieren, ist das manuelle Ziehen im VBA-Editor. Dies funktioniert jedoch nur, wenn Du die Module einzeln kopieren möchtest:
Eine weitere Option ist die Erstellung einer .xla
oder .xlam
Datei:
Datei -> Speichern unter
und wähle den Typ „Excel-Add-In“ aus.Wenn Du häufig mit Modulen arbeitest, kann das oben genannte Makro sehr nützlich sein. Hier ist ein Beispiel für die Verwendung des Makros:
1. Wie kann ich sicherstellen, dass mein Makro funktioniert? Stelle sicher, dass Du die richtigen Sicherheitsoptionen in Excel eingestellt hast, um den Zugriff auf das Visual Basic-Projekt zu erlauben.
2. Was mache ich, wenn ich ein Module nicht kopieren kann? Überprüfe die Datei auf Schutz oder schau nach, ob die Module durch andere Einstellungen blockiert sind. Wenn nötig, gehe die Sicherheitsoptionen in den Excel-Einstellungen durch.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen