Neue Mappe erzeugen und speichern unter
Schritt-für-Schritt-Anleitung
Um eine neue Arbeitsmappe in Excel mit VBA zu erstellen und unter einem bestimmten Namen zu speichern, kannst du das folgende Makro verwenden. Achte darauf, dass du die entsprechenden Berechtigungen hast, um auf den angegebenen Speicherort zuzugreifen.
Private Sub opt2_Click()
Dim StName As String
MsgBox ("Neue Mappe erstellen?")
If MsgBox("Ja," & vbLf & "oder nein?", vbYesNo) = vbYes Then
StName = InputBox("Bitte neuen Dateinamen eingeben!")
Workbooks.Add
ActiveWorkbook.SaveAs Filename:="C:\Test\" & StName & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
MsgBox ("Neue Mappe wurde gespeichert")
ActiveWorkbook.Close
End If
End Sub
In diesem Beispiel wird eine neue Excel-Datei erstellt, und der Benutzer wird aufgefordert, einen Dateinamen einzugeben. Das Makro speichert dann die Datei im angegebenen Verzeichnis.
Häufige Fehler und Lösungen
-
Fehler beim Speichern:
- Wenn du einen Fehler erhältst, dass die Datei nicht gespeichert werden kann, überprüfe, ob der Pfad korrekt ist und ob du Schreibrechte in diesem Verzeichnis hast.
-
Makro hängt an der Speichern-Zeile:
- Stelle sicher, dass der Dateiname korrekt formatiert ist. Verwende
ActiveWorkbook.SaveAs mit dem richtigen Dateipfad und Dateiformat.
-
Dateiname wird nicht angezeigt:
- Wenn der Dateiname nicht korrekt angezeigt wird, achte darauf, dass der
InputBox-Wert richtig in den SaveAs-Befehl eingebaut wird.
Alternative Methoden
Es gibt verschiedene Methoden, um eine neue Arbeitsmappe in Excel zu erstellen und zu speichern:
-
Makro-Recorder verwenden: Du kannst den Makro-Recorder in Excel aktivieren, um die Schritte aufzuzeichnen und später als Basis für dein VBA-Skript zu verwenden.
-
Excel VBA Arbeitsmappe speichern: Verwende die Workbooks.Add-Methode, um eine neue Arbeitsmappe zu erstellen, gefolgt von ActiveWorkbook.SaveAs, um sie zu speichern.
Praktische Beispiele
Hier sind einige praktische Beispiele, wie man verschiedene Szenarien mit VBA umsetzen kann:
- Einfaches Speichern einer neuen Arbeitsmappe:
Private Sub opt2_Click()
Workbooks.Add
ActiveWorkbook.SaveAs Filename:="C:\Test\NeueMappe.xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
- Speichern unter einem benutzerdefinierten Namen:
Private Sub opt2_Click()
Dim StName As String
StName = InputBox("Bitte neuen Dateinamen eingeben!")
Workbooks.Add
ActiveWorkbook.SaveAs Filename:="C:\Test\" & StName & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
Tipps für Profis
-
Dateiformat anpassen: Achte darauf, das richtige Dateiformat beim Speichern zu wählen, wie xlOpenXMLWorkbookMacroEnabled für makrofähige Dateien.
-
Verzeichnisse dynamisch nutzen: Du kannst den Pfad dynamisch erstellen, indem du den CurDir-Befehl verwendest, um den aktuellen Arbeitsordner zu ermitteln.
-
Fehlerbehandlung einbauen: Implementiere Fehlerbehandlungsroutinen, um unerwartete Fehler während des Speichervorgangs zu verhindern.
FAQ: Häufige Fragen
1. Wie kann ich eine neue Excel-Datei automatisch speichern?
Verwende das SaveAs-Kommando in deinem VBA-Skript, um die neue Datei an einem bestimmten Ort zu speichern.
2. Gibt es eine Möglichkeit, den Benutzer nach dem Dateinamen zu fragen?
Ja, du kannst die InputBox-Funktion verwenden, um den Benutzer nach dem gewünschten Dateinamen zu fragen.
3. Wie kann ich den Speicherort für das Speichern unter ändern?
Ändere einfach den Pfad in der SaveAs-Zeile, um die Datei an einem anderen Ort zu speichern.