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

Forumthread: Datei speichern unter einen bestimmten Zellbezug

Datei speichern unter einen bestimmten Zellbezug
10.10.2005 11:18:46
Matthias
Hallo liebe Helfer,
ich habe folgendes Problem:
Ich möchte gerne eine Datei speichern. Dabei soll immer der Inhalt einer bestimmten Zelle z.b. "B5" als Dateiname dienen.

Sub Datei_speichern()
ActiveWorkbook.SaveAs Filename:= _
"V:\Kunden 2005\Mustermann.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

Statt Mustermann.xls, soll es immer im Tabellenblatt "Datenerhebungsbogen" die Zelle "B5" sein.
Wie mache ich das?
Vielen Dank für Eure Hilfe
Matthias
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei speichern unter einen bestimmten Zellbezug
10.10.2005 11:22:39
Unbekannter
So.

Sub Datei_speichern()
ActiveWorkbook.SaveAs Filename:=Cells(5, 2, FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

Gruß UN1
AW: Datei speichern unter einen bestimmten Zellbezug
10.10.2005 11:42:26
Matthias
Danke für den Hinweis,
leider klappt es nicht. Es wir immer ein Fehler (syntax Fehler angezeigt). Die Frage die mir noch stelle, in deinem Code ist ja gar nicht der Pfad zum speichern eingetragen?
Matthias
Anzeige
AW: Datei speichern unter einen bestimmten Zellbezug
10.10.2005 11:45:42
Unbekannter
Der Code stimmt,aber die Zelle darf nicht leer sein.
Und wenn was drin steht dann so: "c:\test.xls"
Nachtrag
10.10.2005 11:47:18
Unbekannter
In der Zeile fehlt ne Klammer,sorry
ist: Filename:=Cells(5, 2, FileFormat
soll: Filename:=Cells(5, 2), FileFormat
AW: Datei speichern unter einen bestimmten Zellbezug
10.10.2005 11:58:17
Matthias
...
ich weiß nicht voran es liegt aber bei wird immer folgender Fehler angezeigt:
Fehler beim Kompilieren
Erwartet: Benannter Parameter
?
Komischerweise wird dein Code auch immer rot angezeigt?
Anzeige
AW: Datei speichern unter einen bestimmten Zellbezug
10.10.2005 12:03:53
Unbekannter
Der darf nicht rot sein,ist ja klar ,aber ich habe dir vorhin geschrieben was fehlt.Gib mal denn Code denn du benutzt.
Funktioniert, aber nicht so wie ich wollte
10.10.2005 12:11:31
Matthias
... ja jetzt funktioniert es plötzlich. Leider nicht so wie es mir vorgestellet habe. Du hast mir geschreiben, dass in der Zelle ("B5") quasi ja schon der Pfad vorgegeben sein muss. Das sollte nicht so sein. In dieser Zelle sollten immer Namen stehen (die immer verschieden sind), die dann als Dateinamen dienen sollten und immer im gleichen Ordner abgespeichert werden sollten. Vielleicht habe ich mich bei meiner Fragestellung ungenau ausgedrückt.
Anzeige
AW: Funktioniert, aber nicht so wie ich wollte
10.10.2005 12:16:01
Unbekannter
Dann darf in der Zelle nur der Name stehen.

Sub Datei_speichern()
ActiveWorkbook.SaveAs Filename:="c:\" & Cells(5, 2) &".xls", FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End Sub

Anzeige
haut hin. DAAAAAAAAANKE
10.10.2005 12:22:38
Matthias
Vielen, vielen Dank für deine ausdauernde Unterstützung!
AW: haut hin. DAAAAAAAAANKE
10.10.2005 12:24:08
Unbekannter
War mehr meine Schuld (-:,ja mai.
Gruß UN1

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel-Datei speichern unter einem Zellbezug


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei zu speichern und dabei den Inhalt einer bestimmten Zelle, z.B. "B5", als Dateinamen zu verwenden, folge diesen Schritten:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11 in Excel.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (deine_datei_name)" und wähle "Einfügen" > "Modul".
  3. Kopiere und füge den folgenden Code ein:

    Sub Datei_speichern()
       ActiveWorkbook.SaveAs Filename:="c:\" & Cells(5, 2).Value & ".xls", FileFormat:=xlNormal, _
       Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus:

    • Drücke ALT + F8, wähle Datei_speichern aus und klicke auf "Ausführen".

Stelle sicher, dass in der Zelle "B5" ein gültiger Name steht, da dieser als Dateiname verwendet wird.


Häufige Fehler und Lösungen

  • Syntaxfehler: Überprüfe, ob alle Klammern korrekt gesetzt sind. In der Zeile Filename:=Cells(5, 2), FileFormat muss eine Klammer entfernt werden. Richtig ist: Filename:=Cells(5, 2).Value.

  • Leere Zelle: Wenn die Zelle "B5" leer ist, wird ein Fehler angezeigt. Stelle sicher, dass die Zelle immer einen Namen enthält.

  • Falscher Dateipfad: Achte darauf, dass der angegebene Pfad korrekt ist. Beispiel: "c:\" sollte durch einen existierenden Ordner ersetzt werden.


Alternative Methoden

Eine Alternative zum Speichern einer Datei unter einem Zellbezug wäre, die Excel-Datei als CSV-Datei zu speichern. Hierzu kannst du den Code entsprechend anpassen:

Sub Datei_speichern_csv()
    ActiveWorkbook.SaveAs Filename:="c:\" & Cells(5, 2).Value & ".csv", FileFormat:=xlCSV
End Sub

Das Speichern als CSV ist nützlich, wenn du nur die Daten ohne Formatierungen speichern möchtest.


Praktische Beispiele

Beispiel 1: Speichern unter einem spezifischen Ordner

Sub Datei_speichern_spezifischer_Ordner()
    ActiveWorkbook.SaveAs Filename:="V:\Kunden 2005\" & Cells(5, 2).Value & ".xls", FileFormat:=xlNormal
End Sub

Beispiel 2: Überprüfen, ob der Dateiname gültig ist

Sub Datei_speichern_validierung()
    Dim dateiname As String
    dateiname = Cells(5, 2).Value

    If dateiname <> "" Then
        ActiveWorkbook.SaveAs Filename:="c:\" & dateiname & ".xls", FileFormat:=xlNormal
    Else
        MsgBox "Die Zelle B5 darf nicht leer sein."
    End If
End Sub

Tipps für Profis

  • Automatisierung: Du kannst den Speichervorgang automatisieren, indem du das Makro an ein Ereignis wie das Schließen der Datei bindest.

  • Fehlerüberwachung: Ergänze deinen Code um Fehlerbehandlungsroutinen, um unerwartete Probleme während des Speichervorgangs zu vermeiden.

  • Verwendung von absoluten Pfaden: Stelle sicher, dass der Pfad in deinem Code immer gültig ist, um Probleme beim Speichern zu vermeiden.


FAQ: Häufige Fragen

1. Kann ich das Makro für andere Zellen anpassen? Ja, du kannst die Zellreferenz in Cells(5, 2) ändern, um einen anderen Zellbezug zu verwenden.

2. Was passiert, wenn der Dateiname bereits existiert? Excel fragt nach, ob die bestehende Datei überschrieben werden soll. Du kannst dies auch im Code steuern, indem du vorher prüfst, ob die Datei existiert.

3. Wie kann ich das Speichern in einem anderen Dateiformat durchführen? Ändere den FileFormat-Parameter im SaveAs-Befehl, um verschiedene Formate wie xlCSV oder xlOpenXMLWorkbook zu verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige