Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - Speicherpfad und -name vorgeben.

Forumthread: VBA - Speicherpfad und -name vorgeben.

VBA - Speicherpfad und -name vorgeben.
25.10.2017 09:27:23
Philipp
Hallo, ich möchte zu der Speicherung noch den genauen Pfad und den Dateinamen vorgeben. Im Moment wird die Datei automatisch in die eigenen Dokumente mit dem Namen "FALSE.xlsx" gespeichert. Was muss ich einfügen?
Sheets("Filiale").Activate
Dateiname = Range("b4")
Pfad = Range("b5")
Dateiname2 = ThisWorkbook.Name
Pfad2 = ThisWorkbook.Path
Sheets("Filiale").Select
Sheets("Filiale").Copy
ActiveWorkbook.SaveAs Filename:="c:\users" = FileExtStr = ".xls": FileFormatNum = 56: FileFormatType = "xlExcel8"
ActiveSheet.Range("$D$10:$AA$321").AutoFilter Field:=2, Criteria1:=""
ActiveSheet.Shapes.Range(Array("Button 1")).Select
Selection.Delete
Application.ScreenUpdating = True
ActiveWorkbook.BreakLink Name:=Pfad2 & "\" & Dateiname2, Type:=xlExcelLinks
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWorkbook.Save
ActiveWindow.Close
End Sub
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Speicherpfad und -name vorgeben.
25.10.2017 09:45:35
Marcus
Hallo,
mein Speichervorgang sieht etwas anders aus:
pfad = ThisWorkbook.Path
filename = pfad & "\Name der Datei" & wks.Range("Zellenbereich 1") & "_" & wks.Range("Zellenbereich 2") & "_" & wks.Range("Zellenbereich 3") & ".xlsm"
ActiveWorkbook.SaveAs filename
Hoffe es hilft
Anzeige
AW: VBA - Speicherpfad und -name vorgeben.
25.10.2017 15:52:18
Philipp
Hallo Marcus,
bei kommt die Fehlermeldung "Objekt erforderlich". Was mach ich falsch? Habe es so eingefügt:
ActiveWorkbook.SaveAs Filename = Pfad & "\Name der Datei" & wks.Range("Zellenbereich 1") & "_" & wks.Range("Zellenbereich 2") & "_" & wks.Range("Zellenbereich 3") & ".xlsm"
Anzeige
AW: VBA - Speicherpfad und -name vorgeben.
25.10.2017 10:27:02
SF
Hola,
wenn du schon mehrere Foren für dein Problem bemühst, verlinke sie doch bitte untereinander.
Gruß,
steve1da
AW: VBA - Speicherpfad und -name vorgeben.
25.10.2017 13:32:01
Philipp
Hallo Steve1da, hätte ich es als unerfahrener User hinbekommen in dem anderen Forum eine ordentlichen Input zu liefern, der sich leserlich darstellt, hätte sich dies schon erledigt. Aber das ging dort nicht. :-)
Anzeige
AW: VBA - Speicherpfad und -name vorgeben.
25.10.2017 15:38:00
Philipp
Vielen Dank an die bisherigen Hilfeversuche. Allerdings klappt es leider nicht. Am besten wäre es, wenn die erzeugte Datei immer automatisch in dem Verzeichnis abgelegt würde, wo auch die Ursprungsdatei liegt.
Und sich der Dateiname aus dem aktuellen Datum und dem Inhalt zweiter Zellen des Tabellenblattes (es heißt "Filiale") zusammensetzt, also als Bsp.: 25.10.2017_Filiale_011_Haltern
Geht das?
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Dateiname und Speicherpfad in VBA festlegen


Schritt-für-Schritt-Anleitung

Um den speicherpfad und den Dateinamen in VBA festzulegen, kannst du den folgenden Code verwenden. Dieser Code speichert die Excel-Datei im selben Verzeichnis wie die Ursprungsdatei und verwendet das aktuelle Datum sowie Inhalte aus bestimmten Zellen als Dateinamen.

Sub SpeichernMitPfadUndDateiname()
    Dim Pfad As String
    Dim Dateiname As String
    Dim Datum As String
    Dim Zelle1 As String
    Dim Zelle2 As String

    ' Aktuellen Pfad der Datei festlegen
    Pfad = ThisWorkbook.Path

    ' Datum und Zelleninhalte für den Dateinamen festlegen
    Datum = Format(Date, "dd.mm.yyyy")
    Zelle1 = Sheets("Filiale").Range("B1").Value ' Beispielzelle
    Zelle2 = Sheets("Filiale").Range("B2").Value ' Beispielzelle

    ' Dateinamen zusammenstellen
    Dateiname = Pfad & "\" & Datum & "_Filiale_" & Zelle1 & "_" & Zelle2 & ".xlsm"

    ' Datei speichern
    ActiveWorkbook.SaveAs Filename:=Dateiname, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub

Häufige Fehler und Lösungen

  • Fehlermeldung: "Objekt erforderlich"
    Diese Fehlermeldung tritt häufig auf, wenn eine Variable nicht korrekt deklariert oder zugewiesen wurde. Achte darauf, dass du die richtigen Zellreferenzen und Variablen verwendest.

  • Dateiname wird nicht korrekt erstellt
    Stelle sicher, dass die Zellen, aus denen du Daten extrahierst, tatsächlich Werte enthalten. Leere Zellen führen zu ungültigen Dateinamen.


Alternative Methoden

Eine andere Möglichkeit, den speicherpfad und den Dateinamen zu setzen, besteht darin, die Werte direkt in den Code einzufügen:

Sub SpeichernMitFestemDateinamen()
    Dim Datei As String
    Datei = "C:\Users\DeinBenutzername\Documents\MeinDateiname.xlsm"

    ActiveWorkbook.SaveAs Filename:=Datei, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub

Diese Methode ist jedoch unflexibel, da sie immer auf denselben Speicherort verweist.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du den speicherpfad und den Dateinamen anpassen kannst:

  1. Speichern in einem Unterordner:

    Pfad = ThisWorkbook.Path & "\Unterordner"
  2. Verwendung des Benutzernamens im Dateinamen:

    Dateiname = "Datei_" & Environ("USERNAME") & ".xlsm"
  3. Dynamisches Datum:

    Datum = Format(Date, "yyyymmdd")

Tipps für Profis

  • Nutze die Application.GetSaveAsFilename-Methode, um dem Benutzer die Möglichkeit zu geben, den Speicherort auszuwählen.
  • Verwende FileExists, um zu prüfen, ob eine Datei mit dem gleichen Namen bereits existiert und eventuell eine entsprechende Warnung auszugeben.
  • Achte darauf, dass der Dateiname keine ungültigen Zeichen enthält (z.B. \ / : * ? " < > |).

FAQ: Häufige Fragen

1. Wie kann ich die Dateiendung ändern?
Du kannst die Dateiendung in der SaveAs-Methode anpassen, indem du den FileFormat-Parameter änderst. Zum Beispiel für .xlsx:

ActiveWorkbook.SaveAs Filename:=Dateiname, FileFormat:=xlOpenXMLWorkbook

2. Was ist der Unterschied zwischen .xls und .xlsm?
Die .xlsm-Dateiendung ermöglicht makrofähige Excel-Dateien, während .xls die ältere Version ist und keine Makros unterstützt. Verwende .xlsm, wenn du VBA in deiner Datei nutzen möchtest.

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