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

Forumthread: VBA: Datei mit variablem Namen speichern

VBA: Datei mit variablem Namen speichern
28.06.2004 12:46:34
j.h
Hallo,
wer kann helfen ?
über eine InputBox Anweisung wird in der Variablen v1 ein eingegebener Dateiname gespeichert.
Wie kann ich folgendes erreichen?
1. Dem Dateinamen muss in der Variablen der Anhang .xls hinzugefügt werden !
2. In einer weiteren Makroanweisung möchte ich eine gerade geöffnete, leere Arbeitsmappe unter einem fest vorgegebene Pfad, jedoch mit dem Namen aus der Variablen v1 abspeichern.
Gruß / Danke
j.h
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA: Datei mit variablem Namen speichern
sergiesam
hi
Versuchs damit:

Sub Speichern()
Dim dateiname As String
dateiname = InputBox("Dateiname:")
If dateiname = "" Then
MsgBox "Dateiname ist ungültig!"
Exit Sub
End If
ActiveWorkbook.SaveAs "C:\DeinOrdner\" & dateiname & ".xls"
End Sub

Gruß,
SAm
Anzeige
AW: VBA: Datei mit variablem Namen speichern
28.06.2004 14:20:56
j.h
Hallo Sam,
'habe Deine Antwort erst sehr spät entdeckt.
die Lösung ist einfach aber klasse (wenn man die Syntax kennt)
jetzt komm ich weiter
vielen Dank
j.h
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Datei mit variablem Namen in Excel VBA speichern


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei mit einem variablen Namen zu speichern, kannst du das folgende VBA-Skript verwenden. Dieses Skript zeigt dir, wie du einen Dateinamen über eine InputBox abfragen und die Datei anschließend unter einem bestimmten Pfad speichern kannst.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul ein, indem du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "Modul" auswählst.
  3. Kopiere den folgenden Code in das Modul:
Sub Speichern()
    Dim dateiname As String
    dateiname = InputBox("Dateiname:")

    If dateiname = "" Then
        MsgBox "Dateiname ist ungültig!"
        Exit Sub
    End If

    ActiveWorkbook.SaveAs "C:\DeinOrdner\" & dateiname & ".xls"
End Sub
  1. Ändere den Pfad "C:\DeinOrdner\" auf den gewünschten Speicherort.
  2. Schließe den VBA-Editor und führe das Makro Speichern aus.

Häufige Fehler und Lösungen

  • Fehler beim Speichern: Wenn du eine Fehlermeldung erhältst, dass die Datei nicht gespeichert werden kann, überprüfe den angegebenen Pfad. Stelle sicher, dass der Ordner existiert.
  • Ungültiger Dateiname: Wenn der Benutzer keinen Namen eingibt, zeigt das Skript eine Meldung an. Du kannst die Logik anpassen, um den Benutzer erneut zu fragen, anstatt das Makro zu beenden.
  • Datei überschreiben: Wenn du die Datei unter einem Namen speicherst, der bereits existiert, wirst du möglicherweise gefragt, ob du die Datei überschreiben möchtest. Du kannst dies umgehen, indem du zuerst überprüfst, ob die Datei existiert.

Alternative Methoden

Wenn du die Excel-Datei ohne VBA speichern möchtest, kannst du auch die Funktion "Speichern unter" im Menü verwenden. Aber für automatisierte Prozesse ist VBA die beste Wahl. Eine andere Möglichkeit besteht darin, die Excel-Datei über Power Automate oder ähnliche Tools zu speichern, falls du regelmäßig Automation benötigst.


Praktische Beispiele

  1. Speichern mit Datum: Du kannst den Dateinamen dynamisch gestalten, indem du das aktuelle Datum hinzufügst:
Sub SpeichernMitDatum()
    Dim dateiname As String
    dateiname = InputBox("Dateiname:")

    If dateiname = "" Then
        MsgBox "Dateiname ist ungültig!"
        Exit Sub
    End If

    dateiname = dateiname & "_" & Format(Date, "YYYYMMDD")
    ActiveWorkbook.SaveAs "C:\DeinOrdner\" & dateiname & ".xls"
End Sub
  1. Überprüfung des Dateinamens: Du kannst auch eine Funktion hinzufügen, die sicherstellt, dass der Dateiname keine unerlaubten Zeichen enthält.

Tipps für Profis

  • VBA-Fehlerbehandlung: Verwende On Error Resume Next, um Fehler beim Speichern abzufangen und eine benutzerfreundliche Fehlermeldung anzuzeigen.
  • Benutzerdefinierte Dialoge: Wenn du mehr Kontrolle über die Eingabe möchtest, kannst du ein benutzerdefiniertes UserForm erstellen, anstatt die InputBox zu verwenden.
  • Dateiformate: Du kannst auch andere Dateiformate wie .xlsx oder .xlsm verwenden, indem du die Dateiendung im SaveAs-Befehl änderst.

FAQ: Häufige Fragen

1. Wie kann ich den aktuellen Dateinamen auslesen?
Du kannst den aktuellen Dateinamen mit ActiveWorkbook.Name auslesen und in eine Variable speichern.

2. Was, wenn ich die Datei in einem anderen Format speichern möchte?
Ändere einfach die Dateiendung im SaveAs-Befehl, z.B. .xlsx statt .xls.

3. Kann ich den Speicherort dynamisch festlegen?
Ja, du kannst den Pfad ebenfalls über eine InputBox abfragen und in die SaveAs-Anweisung einfügen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige