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

Forumthread: VBA speichern unter mit Vorschlag und Dateipfad

VBA speichern unter mit Vorschlag und Dateipfad
19.03.2017 13:31:02
Richtiger
Hallo,
bei meinem Projekt, eine funktionsfähige, realitätsnahe Simulation der 1. und 2. Bundesliga in Excel zu basteln bin ich nun an dem für mich kritischsten Punkte angelangt: Saisonübergang. jede Saison soll nämlich eine eigene Datei haben.
Daher brauche ich Hilfe bei einem Makro, welches:
1.) "Speichern unter" öffnet,
2.) einen vorgegebenen Pfad auswählt, z.B. "C:\Eigene Dateien\Bundesliga Tippspiel\",
3.) aus einer Zelle, z.B. "N1" den verketteten Namen der neuen Saison holt,
4.) eine Messagebox erscheint, die ich bestätige zum speichern oder ablehne zum abbrechen.
Das Dateiformat soll .xlsb sein und idealerweise kann ich dem Makro nach dem abspeichern noch weitere Aktionen hinzufügen.
Vielen Dank vorab.
Sitzriese
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

VBA Speichern unter mit Vorschlag und Dateipfad


Schritt-für-Schritt-Anleitung

Um ein Excel-Makro zu erstellen, das den "Speichern unter"-Dialog öffnet und einen vorgegebenen Pfad sowie einen Dateinamen aus einer Zelle verwendet, befolge diese Schritte:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Erstelle ein neues Modul:

    • Klicke mit der rechten Maustaste auf „VBAProject (deine Datei)“ und wähle „Einfügen“ > „Modul“.
  3. Füge den folgenden Code ein:

    Sub SpeichernUnterMitPfad()
       Dim Dateiname As String
       Dim Pfad As String
    
       ' Vorgeschlagener Pfad
       Pfad = "C:\Eigene Dateien\Bundesliga Tippspiel\"
    
       ' Hole den Dateinamen aus Zelle N1
       Dateiname = ThisWorkbook.Sheets("Tabelle1").Range("N1").Value
    
       ' Überprüfen, ob der Dateiname leer ist
       If Dateiname = "" Then
           MsgBox "Bitte einen gültigen Dateinamen in Zelle N1 eingeben."
           Exit Sub
       End If
    
       ' Öffne den Speichern unter Dialog
       Application.Dialogs(xlDialogSaveAs).Show Pfad & Dateiname & ".xlsb"
    
       ' Hier kannst du weitere Aktionen hinzufügen
    End Sub
  4. Passe den Code an:

    • Ändere den Sheet-Namen und den Pfad, falls nötig.
  5. Führe das Makro aus:

    • Kehre zu Excel zurück und drücke ALT + F8, wähle SpeichernUnterMitPfad und klicke auf „Ausführen“.

Häufige Fehler und Lösungen

  • Fehler: Dialog öffnet nicht
    Lösung: Stelle sicher, dass der VBA-Code korrekt eingefügt wurde und dass der Pfad existiert.

  • Fehler: Leerzeile in Zelle N1
    Lösung: Überprüfe, ob in Zelle N1 ein gültiger Dateiname eingegeben wurde.

  • Fehler: Zugriff verweigert
    Lösung: Stelle sicher, dass du Schreibberechtigungen für den angegebenen Speicherort hast.


Alternative Methoden

Wenn du eine andere Methode zur Verwendung des "Speichern unter"-Dialogs ausprobieren möchtest, kannst du auch die Application.GetSaveAsFilename-Methode verwenden:

Sub SpeichernUnterAlternative()
   Dim Dateiname As Variant
   Dateiname = Application.GetSaveAsFilename(InitialFileName:="C:\Eigene Dateien\Bundesliga Tippspiel\", _
                                              FileFilter:="Excel Dateien (*.xlsb), *.xlsb", _
                                              Title:="Datei speichern unter")
   If Dateiname <> False Then
       ' Speichern der Datei
       ThisWorkbook.SaveAs Filename:=Dateiname, FileFormat:=xlExcel12
   End If
End Sub

Praktische Beispiele

  1. Bundesliga-Simulation speichern:

    • Verwende den oben genannten Code, um deine Bundesliga-Tabelle als .xlsb zu speichern. Der Name wird automatisch aus Zelle N1 übernommen.
  2. Datenanalyse speichern:

    • Wenn du eine Analyse in Excel durchführst, kannst du das Makro anpassen, um die Analyseergebnisse unter einem bestimmten Pfad zu sichern.

Tipps für Profis

  • Automatisierung erweitern: Du kannst das Makro so erweitern, dass es nach dem Speichern automatisch bestimmte Zellen löscht oder Grafiken aktualisiert.
  • Fehlerbehandlung implementieren: Füge On Error Resume Next oder On Error GoTo Fehler ein, um eine bessere Fehlerbehandlung zu gewährleisten.
  • Verwendung von UserForms: Für komplexere Anforderungen kannst du UserForms erstellen, um den Benutzer nach zusätzlichen Informationen zu fragen, bevor die Datei gespeichert wird.

FAQ: Häufige Fragen

1. Kann ich das Makro anpassen, um andere Dateiformate zu speichern?
Ja, du kannst das FileFormat-Argument in der SaveAs-Methode anpassen, um andere Formate wie .xlsx oder .csv zu speichern.

2. Wie kann ich den Pfad dynamisch aus einer Zelle beziehen?
Du kannst den Pfad ebenfalls aus einer Zelle, z.B. Range("A1").Value, entnehmen und im Code verwenden.

3. Wo finde ich den VBA-Editor in Excel?
Du kannst den VBA-Editor öffnen, indem du ALT + F11 drückst oder über das Menü „Entwicklertools“ den Punkt „Visual Basic“ wählst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige