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