Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA-Code in "Diese Arbeitsmappe" kopieren

Forumthread: VBA-Code in "Diese Arbeitsmappe" kopieren

VBA-Code in "Diese Arbeitsmappe" kopieren
09.01.2004 07:42:21
Michael O.
Guten Morgen allerseits,
ich habe hier schon überall gesucht, aber bis jetzt nicht das richtige gefunden.
Ich suche ein möglichkeit VBA-Code aus einem MODUL bzw. einer Tabelle in "Diese Arbeitsmappe" zu kopieren.
Hintergrund:
Ich erzeuge aus einer Tabelle (eine Urlaubsübersicht)(mit vielen Formeln) per Code eine neue leere Arbeitmappe mit Tabelle und kopiere danach NUR die Werte in die neue Tabelle und speichere diese dann ab.
Ich brauche jetzt allerdings ein VBA-CODE in der Arbeitsmappe nicht auf der TABELLE der beim öffnen automatisch startet also "Sub Workbook_Open()usw."
Wie kann ich meinen CODE, der in einem Modul schon vorhanden ist, jetzt in die Arbeitsmappe kopieren.
Danke schon mal
Michael O.
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Code in "Diese Arbeitsmappe" kopieren
09.01.2004 09:26:33
Nepumuk
Hallo Michael,
folgendes Beispiel kopiert den Code von Modul2 der Mappe in das Klassenmodul "DieseArbeitsmappe" von Mappe2.xls. Die notwendigen Anpassungen auf deine Bedürfnisse schaffst du sicher selbst. Du musst einen Verweis auf: "Microsoft Visual Basic for Applications Extensibility 5.3" setzen.

Option Explicit
Public Sub Modulexport()
Dim myExportVBP As VBProject, myImportVBP As VBProject
Set myExportVBP = ThisWorkbook.VBProject
Set myImportVBP = Workbooks("Mappe2.xls").VBProject
With myImportVBP.VBComponents("DieseArbeitsmappe").CodeModule
.DeleteLines 1, .CountOfLines
.InsertLines 1, myExportVBP.VBComponents("Modul2").CodeModule.Lines(1, myExportVBP.VBComponents("Modul2").CodeModule.CountOfLines)
End With
Set myExportVBP = Nothing
Set myImportVBP = Nothing
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk
Anzeige
;
Anzeige

Infobox / Tutorial

VBA-Code in "Diese Arbeitsmappe" kopieren


Schritt-für-Schritt-Anleitung

Um VBA-Code aus einem Modul oder einer Tabelle in "Diese Arbeitsmappe" zu kopieren, folge diesen Schritten:

  1. Öffne die Excel-Arbeitsmappe, in der du den Code kopieren möchtest.

  2. Aktiviere den VBA-Editor mit der Tastenkombination ALT + F11.

  3. Setze einen Verweis auf "Microsoft Visual Basic for Applications Extensibility 5.3":

    • Gehe zu Extras > Verweise...
    • Suche und aktiviere den genannten Verweis.
  4. Füge folgenden VBA-Code in ein Modul ein:

    Option Explicit
    
    Public Sub Modulexport()
        Dim myExportVBP As VBProject, myImportVBP As VBProject
        Set myExportVBP = ThisWorkbook.VBProject
        Set myImportVBP = Workbooks("Mappe2.xls").VBProject
    
        With myImportVBP.VBComponents("DieseArbeitsmappe").CodeModule
            .DeleteLines 1, .CountOfLines
            .InsertLines 1, myExportVBP.VBComponents("Modul2").CodeModule.Lines(1, myExportVBP.VBComponents("Modul2").CodeModule.CountOfLines)
        End With
    
        Set myExportVBP = Nothing
        Set myImportVBP = Nothing
    End Sub
  5. Ändere den Namen der Arbeitsmappe und des Moduls im Code nach Bedarf.

  6. Starte den Code, um den gewünschten VBA-Code in "Diese Arbeitsmappe" zu kopieren.


Häufige Fehler und Lösungen

  • Fehler: "User-defined type not defined"

    • Ursache: Der Verweis auf "Microsoft Visual Basic for Applications Extensibility 5.3" ist nicht gesetzt.
    • Lösung: Aktiviere den Verweis über das Menü Extras > Verweise....
  • Fehler: "File not found"

    • Ursache: Die angegebene Arbeitsmappe ("Mappe2.xls") ist nicht geöffnet oder existiert nicht.
    • Lösung: Stelle sicher, dass die Arbeitsmappe geöffnet ist und der Name korrekt ist.

Alternative Methoden

Eine alternative Methode, um VBA-Code in eine Excel-Arbeitsmappe zu kopieren:

  1. Manuelles Kopieren:

    • Öffne das Modul mit dem gewünschten Code im VBA-Editor.
    • Kopiere den Code (Strg + C).
    • Gehe zu "Diese Arbeitsmappe" und füge den Code dort ein (Strg + V).
  2. Verwendung von Excel Code Jeanie:

    • Mit Tools wie Excel Code Jeanie kannst du den Code in verschiedenen Formaten exportieren und importieren.

Praktische Beispiele

Ein Beispiel für einen VBA-Code, der beim Öffnen der Arbeitsmappe automatisch startet:

Private Sub Workbook_Open()
    MsgBox "Willkommen in der Arbeitsmappe!"
End Sub

Füge diesen Code in das Klassenmodul "DieseArbeitsmappe" ein, um eine Willkommensnachricht bei jedem Öffnen der Arbeitsmappe anzuzeigen.


Tipps für Profis

  • Verwende Kommentare im VBA-Code, um die Funktionalität zu erklären. Dies erleichtert das Verständnis und die Wartung des Codes.
  • Sichere deine Arbeitsmappe regelmäßig, besonders wenn du mit VBA arbeitest, um Datenverlust zu vermeiden.
  • Nutze Fehlerbehandlung im Code, um unerwartete Probleme während der Ausführung zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich den VBA-Code in eine andere Excel-Arbeitsmappe kopieren?
Du kannst den gleichen Code verwenden, musst jedoch den Namen der Zielarbeitsmappe im Code entsprechend anpassen.

2. Was mache ich, wenn der VBA-Code nicht funktioniert?
Überprüfe, ob alle erforderlichen Verweise gesetzt sind und ob die Arbeitsmappen korrekt benannt sind. Stelle auch sicher, dass alle Module vorhanden sind.

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