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

Speichern per Makro mit Variable im Dateinamen?

Forumthread: Speichern per Makro mit Variable im Dateinamen?

Speichern per Makro mit Variable im Dateinamen?
25.10.2003 15:07:01
Befan
Hallo, ich hab folgende Frage:

Daß eine Speicheranweisung per Makro möglich ist, weiß ich. Zwar noch nicht, wie das gemacht wird, aber ist das auch nur für mich interessant, wenn ich in den Speichernamen eine Variable einbauen kann, also speichern in "day??.xls", wobei ?? die Summe zweier Zellwerte sein soll!?
Geht das???

Muchas gratias, Befan ;-)
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern per Makro mit Variable im Dateinamen
25.10.2003 15:12:38
Tobias
ThisWorkbook.SaveAs ThisWorkbook.Name & "_" & Date & ".xls"
oder
ThisWorkbook.SaveAs ThisWorkbook.Name & "_" & Range("A1") + Range("A2") & ".xls"

mfg

tobias
AW: Speichern per Makro mit Variable im Dateinamen
25.10.2003 15:21:53
Befan
Huii, ihr seid ja von der ganz schnellen Truppe, vielen Dank dafür.
Gruß, Befan ;-)
AW: Speichern per Makro mit Variable im Dateinamen?
25.10.2003 15:57:39
Befan
Jetzt muß ich noch was dazu fragen:
Wenn es den Ordner noch nicht gibt, in dem gespeichert werden soll, muß ich den vorher extra erstellen? Geht das nicht mit "MkDir" ?

Dankeschön nochmal,
Gruß, Befan ;-)
Anzeige
AW: Speichern per Makro mit Variable im Dateinamen
25.10.2003 17:41:21
tobias
If Dir("c:\diesenordnergibtsgarantiertnicht\") = "" Then MkDir "c:\diesenordnergibtsgarantiertnicht\"
ThisWorkbook.SaveAs "c:\diesenordnergibtsgarantiertnicht\" & ThisWorkbook.Name & "_" & Range("A1") + Range("A2") & ".xls"
AW: Speichern per Makro mit Variable im Dateinamen
26.10.2003 00:56:46
Befan
Super tobias, funzt blendend :up:

Gratias, Befan
Anzeige

Infobox / Tutorial

Speichern per Makro mit Variablen im Dateinamen in Excel


Schritt-für-Schritt-Anleitung

Um ein Makro zu erstellen, das eine Excel-Datei mit einem variablen Dateinamen speichert, kannst du folgende Schritte befolgen:

  1. Öffne Excel und erstelle eine neue Arbeitsmappe oder öffne eine bestehende.

  2. Aktiviere die Entwicklertools: Gehe zu „Datei“ > „Optionen“ > „Menüband anpassen“ und aktiviere „Entwicklertools“.

  3. Öffne den Visual Basic for Applications (VBA) Editor: Klicke auf „Entwicklertools“ und dann auf „Visual Basic“.

  4. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf „VBAProject (DeinDateiname)“ und wähle „Einfügen“ > „Modul“.

  5. Füge den folgenden Code ein:

    Sub SpeichernMitVariable()
       Dim dateiname As String
       Dim ordner As String
    
       ' Definiere den Ordner
       ordner = "C:\diesenordnergibtsgarantiertnicht\"
    
       ' Überprüfe, ob der Ordner existiert, und erstelle ihn, falls nicht
       If Dir(ordner) = "" Then MkDir ordner
    
       ' Erstelle den Dateinamen mit einer Variable
       dateiname = ordner & ThisWorkbook.Name & "_" & Range("A1").Value + Range("A2").Value & ".xls"
    
       ' Speichern der Arbeitsmappe
       ThisWorkbook.SaveAs dateiname
    End Sub
  6. Schließe den VBA-Editor und kehre zu Excel zurück.

  7. Führe das Makro aus: Gehe zu „Entwicklertools“ > „Makros“ und wähle „SpeichernMitVariable“ aus.

Jetzt solltest du in der Lage sein, deine Excel-Datei mit einem variablen Dateinamen zu speichern!


Häufige Fehler und Lösungen

  • Fehler: Ordner nicht gefunden
    Lösung: Stelle sicher, dass der angegebene Ordnerpfad korrekt ist. Der Code überprüft, ob der Ordner existiert und erstellt ihn, falls nicht.

  • Fehler: Ungültiger Dateiname
    Lösung: Achte darauf, dass die Zellen, die zur Erstellung des Dateinamens verwendet werden (z.B. Range("A1") und Range("A2")), gültige Werte enthalten.


Alternative Methoden

Du kannst auch alternative Methoden zum Speichern von Excel-Dateien mit Makros in Betracht ziehen:

  • Direktes Speichern ohne Überprüfung des Ordners: Wenn du sicher bist, dass der Ordner existiert, kannst du den MkDir-Befehl weglassen.

  • Benutzerdefinierte Dateinamen: Verwende Eingabeaufforderungen, um den Benutzer nach einem Namen zu fragen, bevor die Datei gespeichert wird:

    dateiname = InputBox("Gib den Dateinamen ein:", "Dateinamen eingeben") & ".xls"

Praktische Beispiele

Stell dir vor, du hast in den Zellen A1 und A2 die Werte 5 und 10. Das Makro würde die Datei als DeinDateiname_15.xls speichern, weil 5 + 10 = 15 ist. Das ist besonders nützlich, wenn du Daten automatisch speichern möchtest, ohne manuell eingreifen zu müssen.


Tipps für Profis

  • Verwende das Format „.xlsm“: Wenn dein Makro auch andere Makros enthält, speichere die Datei als „.xlsm“ (Excel-Makro-fähige Arbeitsmappe).
  • Fehlerprotokollierung: Füge Fehlerbehandlungsroutinen hinzu, um sicherzustellen, dass das Makro auch bei Problemen robust bleibt.

    On Error GoTo FehlerHandler
    ' Dein Code hier
    Exit Sub
    
    FehlerHandler:
      MsgBox "Ein Fehler ist aufgetreten: " & Err.Description

FAQ: Häufige Fragen

1. Kann ich das Makro in einer älteren Excel-Version verwenden?
Ja, solange du VBA unterstützt, kannst du das Makro auch in älteren Versionen von Excel verwenden.

2. Wie kann ich den Speicherort des Ordners ändern?
Ändere einfach die Variable ordner im Code zu dem gewünschten Pfad.

3. Was passiert, wenn ich versuche, eine Datei mit einem bereits existierenden Namen zu speichern?
Excel wird eine Fehlermeldung ausgeben. Du kannst zusätzliche Logik hinzufügen, um das Umschreiben zu verhindern oder einen neuen Dateinamen zu generieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige