Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Datei mit Makro (im Modul) speichern

VBA Datei mit Makro (im Modul) speichern
08.04.2021 17:25:48
EXC
Hallo zusammen,
ich möchte aus einer xlsm eine weitere xlsm erzeugen (nur ein Tabellenblatt der ursprünglichen Datei) und speichern.
Das ist grundsätzlich kein Problem.
Wie bekomme ich jedoch den Code in das Modul?
Code im Tabellenblatt klappt, aber ich brauche den Code im Modul.
Hat jemand eine Idee? Google hat nicht geholfen...
LG
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Datei mit Makro (im Modul) speichern
08.04.2021 17:40:21
Nepumuk
Hallo,
im Prinzip so:
Option Explicit
Public Sub Modul()
Dim strPath As String
strPath = Environ$("TMP") & "\Modul1.bas"
Call ThisWorkbook.VBProject.VBComponents("Modul1").Export(Filename:=strPath)
Call Workbooks("AndereMappe.xlsm").VBProject.VBComponents.Import(Filename:=strPath)
Call Kill(PathName:=strPath)
End Sub

Gruß
Nepumuk
Anzeige
AW: VBA Datei mit Makro (im Modul) speichern
09.04.2021 13:08:30
EtoPHG
Hallo,
Speichere die ganze Datei unter dem neuen Namen.¨
Lösche alle Blätter ausser dem gewünschten.
Speichere wieder.
Das alles kannst du mit dem Makrorekorder aufzeichnen und die Aufzeichnung im VBEditor ggf. noch 'generalisieren' (Select/Activate eliminieren) .
Gruess Hansueli
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA Datei mit Makros speichern


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei mit Makros zu speichern, kannst Du folgende Schritte befolgen:

  1. Erstelle ein neues VBA-Modul:

    • Öffne den Visual Basic-Editor (ALT + F11).
    • Klicke mit der rechten Maustaste auf „VBAProject (DeinWorkbookName)“ und wähle „Einfügen“ > „Modul“.
  2. Füge den VBA-Code ein:

    • Kopiere den folgenden Code in das neue Modul:
    Option Explicit
    Public Sub Modul()
       Dim strPath As String
       strPath = Environ$("TMP") & "\Modul1.bas"
       Call ThisWorkbook.VBProject.VBComponents("Modul1").Export(Filename:=strPath)
       Call Workbooks("AndereMappe.xlsm").VBProject.VBComponents.Import(Filename:=strPath)
       Call Kill(PathName:=strPath)
    End Sub
  3. Speichere die Excel-Datei:

    • Gehe zu „Datei“ > „Speichern unter“ und wähle das Format „Excel-Arbeitsmappe mit Makros (*.xlsm)“ aus.
  4. Führe das Makro aus:

    • Drücke F5 oder klicke auf die Schaltfläche „Ausführen“, um das Makro zu starten, das den Code in das Modul der neuen Datei kopiert.

Häufige Fehler und Lösungen

  • Fehler: „Das Modul konnte nicht gefunden werden“
    Lösung: Stelle sicher, dass der Modulname korrekt ist und dass Du das richtige Projekt ausgewählt hast.

  • Fehler: „Datei kann nicht gespeichert werden“
    Lösung: Überprüfe, ob Du Schreibrechte auf den Speicherort hast und ob der Dateiname kein ungültiges Zeichen enthält.


Alternative Methoden

Wenn Du eine Excel-Datei mit Makros speichern möchtest, kannst Du auch den Makrorekorder nutzen:

  1. Aufzeichnen eines Makros:

    • Gehe zu „Entwicklertools“ > „Makro aufzeichnen“.
    • Führe die gewünschten Aktionen aus, um die Datei zu speichern und die Blätter zu löschen.
  2. Bearbeiten des Makros:

    • Öffne den Visual Basic-Editor, um den aufgezeichneten Code zu optimieren, z.B. Select und Activate zu entfernen.

Praktische Beispiele

Ein einfaches Beispiel, um eine Excel-Datei mit Makros zu speichern:

Sub SpeichernMitMakros()
    Dim wb As Workbook
    Set wb = ThisWorkbook
    wb.SaveAs Filename:="C:\DeinPfad\DeineDatei.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub

Dieses Makro speichert die aktuelle Arbeitsmappe im .xlsm-Format, das Makros ermöglicht.


Tipps für Profis

  • Nutze die SaveCopyAs-Methode, um eine Kopie der Datei zu speichern, ohne die aktuelle Arbeit zu unterbrechen.
  • Sichere Deine VBA-Projekte mit einem Kennwort, um unbefugten Zugriff zu verhindern.

FAQ: Häufige Fragen

1. Wie speichere ich eine Excel-Datei mit Makros auf einem anderen Laufwerk?
Verwende den vollständigen Pfad in der SaveAs-Methode, z.B. C:\NeuerOrdner\Datei.xlsm.

2. Kann ich Excel-Dateien mit Makros auch im .xls-Format speichern?
Ja, jedoch gehen einige der Makrofunktionen verloren. Es ist besser, das .xlsm-Format zu verwenden, wenn Du mit VBA arbeitest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige