Speichern unter mit Dateiname aus Zelle
Schritt-für-Schritt-Anleitung
-
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
-
Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
-
Füge den folgenden Code in das Modul ein:
Sub SpeichernUnterDialogAufrufen()
Dim fileSaveName As Variant
fileSaveName = Application.GetSaveAsFilename(Worksheets("Tabelle2").Range("K5").Value, _
fileFilter:="Excel-Arbeitsmappe (*.xls), *.xls")
If fileSaveName <> False Then
ActiveWorkbook.SaveAs fileSaveName
End If
End Sub
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Du kannst das Makro nun ausführen, um den Dialog "Speichern unter" zu öffnen, wobei der Dateiname aus der Zelle K5 von Tabelle2 übernommen wird.
Häufige Fehler und Lösungen
-
Laufzeitfehler beim Ausführen des Makros:
- Stelle sicher, dass der Zellbereich "Tabelle2!K5" existiert und einen gültigen Dateinamen enthält.
- Überprüfe, ob die Schreibweise des Tabellennamens korrekt ist.
-
Der Dialog öffnet sich, aber der Dateiname wird nicht übernommen:
- Achte darauf, dass der Code in der
GetSaveAsFilename-Funktion korrekt ist und dass der Wert aus der Zelle tatsächlich ausgelesen wird.
Alternative Methoden
Eine einfache Möglichkeit, einen Dateinamen aus einer Zelle zu verwenden, ist die Nutzung der Funktion Speichern unter über das Menü:
- Klicke auf
Datei > Speichern unter.
- Wähle den Speicherort und füge manuell den Namen aus der Zelle K5 hinzu.
- Diese Methode ist weniger automatisiert, kann aber für schnelle Speicheraktionen nützlich sein.
Praktische Beispiele
Angenommen, du hast in Zelle K5 den Wert "Bericht_2023", dann wird beim Ausführen des Makros der Dialog "Speichern unter" mit dem vorgeschlagenen Dateinamen "Bericht_2023.xls" geöffnet.
Ein weiteres Beispiel könnte sein, wenn du einen Bericht als PDF speichern möchtest. In diesem Fall kannst du den folgenden Code verwenden, um eine PDF-Datei zu speichern:
Sub SpeichernAlsPDF()
Dim pdfName As String
pdfName = Worksheets("Tabelle2").Range("K5").Value & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName
End Sub
Tipps für Profis
- Verwende die
On Error Resume Next-Anweisung, um Laufzeitfehler zu vermeiden und eine bessere Benutzererfahrung zu schaffen.
- Du kannst den Code erweitern, um verschiedene Dateitypen zu unterstützen, wie z.B. PDF oder TXT, je nach Bedarf.
- Teste deinen Code regelmäßig, um sicherzustellen, dass alle Funktionen wie gewünscht arbeiten.
FAQ: Häufige Fragen
1. Wie kann ich den Dateinamen in einer anderen Zelle speichern?
Du kannst den Zellbereich im Code einfach anpassen, z.B. von K5 auf B5, um den Dateinamen von einer anderen Zelle zu beziehen.
2. Funktioniert dieser Code in Excel 2016?
Ja, der Code sollte in Excel 2016 und neueren Versionen problemlos funktionieren. Achte darauf, dass die Makros aktiviert sind.