Datei unter neuem Namen speichern mit VBA
Schritt-für-Schritt-Anleitung
Um eine Datei unter einem neuen Namen via VBA zu speichern, gehe wie folgt vor:
-
Öffne den VBA-Editor:
- Drücke
ALT + F11, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Klicke im Menü auf
Einfügen > Modul.
-
Schreibe den VBA-Code:
- Füge den folgenden Code in das Modul ein:
Sub Alphaliste()
' Rohtabelle sichern
Application.Goto Reference:="R20C1"
ActiveWorkbook.Save
' Benutzer nach Dateinamen fragen
Dim cb As String
cb = InputBox("Bitte Dateinamen eingeben:", "Dateiname")
' Als neue Datei speichern
ActiveWorkbook.SaveAs Filename:= _
"C:\Listen\" & cb & ".xls", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=True
End Sub
-
Führe das Makro aus:
- Schließe den VBA-Editor und gehe zurück zu Excel.
- Drücke
ALT + F8, wähle Alphaliste aus und klicke auf Ausführen.
Häufige Fehler und Lösungen
-
Fehler: Ungültiger Dateiname
- Lösung: Stelle sicher, dass der Benutzer einen gültigen Dateinamen eingibt, der keine Sonderzeichen enthält.
-
Fehler: Datei kann nicht gespeichert werden
- Lösung: Überprüfe den Speicherort und stelle sicher, dass Du die erforderlichen Berechtigungen hast, um dort zu speichern.
-
Fehler: Makro funktioniert nicht
- Lösung: Überprüfe, ob Makros in Excel aktiviert sind. Gehe zu
Datei > Optionen > Trust Center und aktiviere die Makros.
Alternative Methoden
Eine andere Möglichkeit, eine Excel-Datei zu speichern, besteht darin, den Application.GetSaveAsFilename-Dialog zu verwenden. Hier ein Beispiel:
Sub SpeichernMitDialog()
Dim Dateiname As Variant
Dateiname = Application.GetSaveAsFilename(FileFilter:="Excel-Dateien (*.xls), *.xls")
If Dateiname <> False Then
ActiveWorkbook.SaveAs Filename:=Dateiname, FileFormat:=xlNormal
End If
End Sub
Praktische Beispiele
Hier sind zwei Beispiele für das Speichern einer Arbeitsmappe mit VBA:
-
Speichern unter neuem Namen mit Zusatz:
Sub SpeichernMitZusatz()
Dim NeuerName As String
NeuerName = "Rohtabelle_" & Format(Date, "MM") & "_alpha"
ActiveWorkbook.SaveAs Filename:="C:\Listen\" & NeuerName & ".xls"
End Sub
-
Speichern der Arbeitsmappe in einem bestimmten Format:
Sub SpeichernImXLSXFormat()
ActiveWorkbook.SaveAs Filename:="C:\Listen\NeuerDateiname.xlsx", FileFormat:=xlOpenXMLWorkbook
End Sub
Tipps für Profis
- Verwende die
FileDialog-Objekte, um Benutzern eine benutzerfreundliche Schnittstelle zum Speichern von Dateien zu bieten.
- Nutze
Workbook.Befehle, um mehrere Arbeitsmappen gleichzeitig zu speichern.
- Achte auf die Verwendung von
Error Handling, um potenzielle Fehler beim Speichern abzufangen.
FAQ: Häufige Fragen
1. Wie kann ich eine Datei automatisch in einem bestimmten Format speichern?
Du kannst das FileFormat-Argument im SaveAs-Befehl anpassen, um verschiedene Formate wie .xls, .xlsx oder .xlsm zu verwenden.
2. Was kann ich tun, wenn die Eingabeaufforderung nicht erscheint?
Stelle sicher, dass der Code korrekt geschrieben ist und dass Du die richtige Subroutine ausführst. Überprüfe auch, ob Excel Makros erlaubt.