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

Forumthread: Speichern im selben Ordner

Speichern im selben Ordner
Heinz
Hallo Leute
Im unteren Makro speichere ich die Datei unter einen neuen Namen.
Funktioniert auch soweit.
Nur sollte es immer im selben Ordner,wo sich die Datei befindet gespeichert werden.
Das funkt. nicht so richtig,oft wird die Datei in "Eigene Dokumente" gespeichert.
Wo liegt bitte der Fehler ?
Gruß
Heinz
Sub Speichern()
Dim strAktuellerPfad As String
Dim fileSaveName As String, strfileSaveName As String
Dim MyPfad As String
fileSaveName = "Schichtplan Kaltes Ende - " & Worksheets("Formel").Range("A1") & ".xls"
strAktuellerPfad = ActiveWorkbook.Path
ActiveWorkbook.SaveAs fileSaveName
MyPfad = IIf(Right$(ThisWorkbook.Path, 1) = Application.PathSeparator, ThisWorkbook.Path,  _
ThisWorkbook.Path & Application.PathSeparator)
ActiveSheet.Shapes("AutoShape 37").Visible = False
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Speichern im selben Ordner
12.10.2010 15:43:29
Hajo_Zi
Hallo Heinz,
ActiveWorkbook.SaveAs strAktuellerPfad & \" &fileSaveName

AW: Speichern im selben Ordner
12.10.2010 17:12:29
Heinz
Hallo Hajo
Super !!
Recht herzlichen Dank.
Gruß
Heinz
Anzeige
;
Anzeige

Infobox / Tutorial

Speichern im selben Ordner in Excel


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei im selben Ordner zu speichern, in dem sich die aktuelle Datei befindet, kannst du das folgende VBA-Makro verwenden. Folge diesen Schritten:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Sub Speichern()
       Dim strAktuellerPfad As String
       Dim fileSaveName As String
       fileSaveName = "Schichtplan Kaltes Ende - " & Worksheets("Formel").Range("A1").Value & ".xls"
       strAktuellerPfad = ActiveWorkbook.Path
       ActiveWorkbook.SaveAs strAktuellerPfad & "\" & fileSaveName
       ActiveSheet.Shapes("AutoShape 37").Visible = False
    End Sub
  4. Stelle sicher, dass das Arbeitsblatt "Formel" existiert und eine Zelle mit dem gewünschten Inhalt hat.

  5. Schließe den VBA-Editor und führe das Makro aus, indem du ALT + F8 drückst und dein Makro auswählst.


Häufige Fehler und Lösungen

  • Fehler: Die Datei wird in "Eigene Dokumente" gespeichert.
    Lösung: Stelle sicher, dass der Pfad korrekt in der Zeile strAktuellerPfad = ActiveWorkbook.Path gesetzt ist. Der Speicherort wird durch ActiveWorkbook.SaveAs strAktuellerPfad & "\" & fileSaveName definiert. Achte darauf, dass der Backslash (\) vor dem Dateinamen korrekt eingegeben wird.

  • Fehler: Das Arbeitsblatt "Formel" existiert nicht.
    Lösung: Überprüfe, ob das Arbeitsblatt "Formel" in deiner Arbeitsmappe vorhanden ist. Wenn nicht, passe den Code entsprechend an.


Alternative Methoden

Wenn du kein VBA verwenden möchtest, kannst du auch manuell speichern:

  1. Wähle Datei > Speichern unter.
  2. Navigiere zu dem gewünschten Ordner, der der gleiche ist wie der aktuelle.
  3. Benenne die Datei und klicke auf Speichern.

Das ist zwar weniger automatisiert, kann aber in bestimmten Situationen nützlich sein.


Praktische Beispiele

Angenommen, du hast eine Excel-Datei, die regelmäßig aktualisiert wird. Mit dem oben genannten Makro kannst du die Datei automatisch mit einem neuen Namen speichern, der auf dem Inhalt von Zelle A1 des Arbeitsblattes "Formel" basiert. Dies ist besonders vorteilhaft für Berichte oder Arbeitsblätter, die regelmäßig aktualisiert werden sollen.


Tipps für Profis

  • Dateiformat: Stelle sicher, dass du das richtige Dateiformat verwendest. Das .xls Format ist für ältere Excel-Versionen geeignet, während .xlsx für neuere Versionen verwendet werden sollte.
  • Automatisierung: Du kannst das Speichern automatisieren, indem du das Makro mit einem bestimmten Ereignis (z. B. beim Schließen der Datei) verknüpfst.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um sicherzustellen, dass das Makro nicht abstürzt, wenn es auf Probleme stößt.

FAQ: Häufige Fragen

1. Frage
Warum wird die Datei manchmal in einem anderen Ordner gespeichert?
Antwort: Dies passiert oft, wenn der ActiveWorkbook.Path nicht korrekt ermittelt werden kann. Stelle sicher, dass die Datei vor dem Speichern gespeichert wurde.

2. Frage
Kann ich das Makro anpassen, um das Dateiformat zu ändern?
Antwort: Ja, ändere einfach die Dateiendung in der Zeile fileSaveName = "Schichtplan Kaltes Ende - " & Worksheets("Formel").Range("A1").Value & ".xls" in das gewünschte Format, z.B. .xlsx.

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