Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Module kopieren

Module kopieren
13.07.2005 07:44:20
Ulli
Morgen,
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
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Module kopieren
13.07.2005 07:50:47
Hajo_Zi
Hallo Ulli,
ziehe Sie doch einfach im VBA Editor von einer Datei in die andere.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem Windows 2000 SP4 und Excel Version 2000 SP3.


Anzeige
AW: Module kopieren
13.07.2005 08:06:30
Ulli
Das wird mit der Zeit zu umständlich. Kann ja nicht meine Module in 20 andere Mappen hineinkopieren - da werd ich ja irgendwann verrückt :)
Gibts nicht _doch_ etwas anderes? (Wenn nicht, wird mir wohl nichts andres übrigbleiben....)
Danke,
Ulli
AW: Module kopieren
13.07.2005 08:35:47
Erich
Hallo Ulli,
hier könnte es sich anbieten, die (oder möglichst viele) Module aus den 20 Mappen auszugliedern und in einer eigenen Mappe (oder einem xla (AddIn) zu speichern.
Per Verknüpfung (auf Mappe) oder AddIn-Manager können dann die 20 Dateien die Module nutzen.
Grüße aus Kamp-Lintfort
Erich
Anzeige
AddIn
13.07.2005 10:25:13
Ulli
Und wie speichere ich die in ein AddIn?
Ulli
AW: AddIn
13.07.2005 11:17:00
u_
Hallo,
einfach die Module in eine leere Mappe kopieren und diese als Addin(.xla) speichern. Anschließend über den Addin-Manager einbinden.
Gruß
Geist ist geil!
AW: Module kopieren
13.07.2005 10:48:30
Heiko
Hallo Ulli,
hab mal mit sowas rumgespielt, das sieht so aus (siehe Code) und kopiert alle Module und Userforms aus der aktiven Mappe in eine neue. Vielleicht hilft es dir.

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

Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
Danke
14.07.2005 07:55:18
Ulli
Danke, funktioniert :)
Habe das jetzt über Makro gemacht und nicht über xla.
Liebe Grüße,
Ulli
;
Anzeige

Infobox / Tutorial

Module in Excel kopieren: So geht's schnell und einfach


Schritt-für-Schritt-Anleitung

Um Module und UserForms in Excel effizient zu kopieren, kannst Du ein VBA-Makro verwenden. Folge dieser Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject (deine Datei)" und wähle Einfügen > Modul.

  3. 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
  4. Führe das Makro aus: Klicke auf den CommandButton15, um die Module zu kopieren.


Häufige Fehler und Lösungen

  • 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.


Alternative Methoden

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:

  1. Öffne beide Arbeitsmappen im VBA-Editor.
  2. Ziehe die Module: Klicke mit der linken Maustaste auf das Modul und ziehe es in die andere Mappe.

Eine weitere Option ist die Erstellung einer .xla oder .xlam Datei:

  1. Kopiere die Module in eine neue Arbeitsmappe.
  2. Speichere die Datei als Add-In: Wähle Datei -> Speichern unter und wähle den Typ „Excel-Add-In“ aus.

Praktische Beispiele

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:

  • Du hast 20 verschiedene Excel-Dateien, in denen jeweils das gleiche Modul verwendet wird.
  • Anstatt jedes Modul manuell zu kopieren, führe das Makro in einer der Dateien aus, um alle Module in eine neue Datei zu transferieren.

Tipps für Profis

  • Verwende Add-Ins: Speichere häufig verwendete Module als Add-Ins, um sie einfacher in verschiedenen Projekten zu verwenden.
  • Sichere deine Module regelmäßig: Halte eine Sicherungskopie deiner Module, um Datenverlust zu vermeiden.
  • Nutze Versionskontrolle: Bei umfangreichen VBA-Projekten kann eine Versionskontrolle helfen, Änderungen nachzuvollziehen.

FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige