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

Forumthread: Makro speichern unter + Dateiname aus Zelle

Makro speichern unter + Dateiname aus Zelle
07.03.2008 11:39:00
Roman
Hallo Experten,
brauche ein Makro bei dem sich das Fenster wie beim Speichern unter öffnet jedoch nur mit dem Pfad C:\ und der Dateiname soll die Bezeichnung aus der Tabelle13 / Zelle CA13 sein.
Wahrscheinlich voll easy aber ich kriegs nicht hin.
Danke

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Makro speichern unter + Dateiname aus Zelle
07.03.2008 11:59:00
{mskro}
Hallo Roman,
vielleicht hilft dir das kleine VBA schon etwas weiter.

Sub Speichern_unter()
sFile = Application.GetSaveAsFilename _
(fileFilter:="Microsoft Office Excel-Arbeitsmappe (*.xls), *.xls")
If sFile  False Then
MsgBox sFile
End If
End Sub


Gruß Manfred
Rückmeldung wäre nett!

Anzeige
AW: Makro speichern unter + Dateiname aus Zelle
07.03.2008 12:07:00
Roman
Nicht ganz,
denn der Dateiname wird ja nicht gezogen. Das ganze mache ich ja nur damit der Dateiname angezeigt wird (tippfehler Vermeidung). Also noch ne Idee?

AW: Makro speichern unter + Dateiname aus Zelle
07.03.2008 12:53:00
Roman
Hab es jetzt so gelöst...

Sub Speichern_unter()
Dim sfile As Integer
sfile = Application.GetSaveAsFilename _
(Sheets("Tabelle13").Range("CA13"), "Microsoft Office Excel-Arbeitsmappe (*.xls), *.xls")
If sfile  False Then
MsgBox sfile
End If
End Sub


Anzeige
Anmerkung
07.03.2008 13:25:09
{mskro}
Hallo Roman,
mit wem hast du bei dieser Antwort eigentlich gesprochen?
Eine Anrede wäre doch nett gewesen und man weiß sofort, mit wem du redest. :-)
Und wie ich sehe, hat dir meine kleine Hilfe doch weiter geholfen.
Gruß Manfred

Anschlussfrage an Manfred
07.03.2008 18:33:00
bernd
Hi Manfred,
darf ich mich an Dich wenden, weil ich für diese Probelmstellung auch schon länger suche.
Ich habe den Code von Roman getest und der Code läuft bei mir immer auf Fehler.
Wärst du bitte so nett und würdest 'mal auf den Code schaun, warum der nicht läuft.
Das wäre super von Dir.
https://www.herber.de/bbs/user/50553.xls
Danke vorab
Bernd

Anzeige
Fehler gefunden, aber gespeichert wird nicht
07.03.2008 22:38:38
bernd
Bitte Euch um Hilfe,
jetzt habe ich zwar den Code so hinbekommen, dass keine Fehlermeldung mehr kommt, aber das File wird nicht gespeichert. keine Ahnung, warum nicht.
Bitte um Hilfe.

Sub Speichern_unter()
Dim sfile As Integer
Dim Mappe As Workbook
fileSaveName = Application.GetSaveAsFilename(Sheets("Output").Range("B2"), _
fileFilter:="Excel-Arbeitsmappe (*.xls), *.xls")
If sfile  False Then
MsgBox sfile
End If
'auch mit nachstehender Code-Ergänzung wird nicht gespeichert.
'Mappe.Close savechanges:=True
End Sub


File: https://www.herber.de/bbs/user/50563.xls
Danke,
Bernd

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Makro speichern unter mit Dateinamen aus Zelle


Schritt-für-Schritt-Anleitung

Um ein Excel-Makro zu erstellen, das den Dateinamen aus einer bestimmten Zelle übernimmt und das Dialogfeld „Speichern unter“ öffnet, kannst Du folgenden VBA-Code verwenden:

  1. Öffne den Visual Basic-Editor in Excel (Alt + F11).

  2. Füge ein neues Modul hinzu: Rechtsklick auf „VBAProject (DeineDatei)“ > Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub Speichern_unter()
        Dim sFile As Variant
        sFile = Application.GetSaveAsFilename(Sheets("Tabelle13").Range("CA13").Value, _
        fileFilter:="Microsoft Office Excel-Arbeitsmappe (*.xls), *.xls")
    
        If sFile <> False Then
            MsgBox "Datei wird gespeichert unter: " & sFile
            'Hier kannst du den Speichervorgang hinzufügen
        End If
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Weise das Makro einem Button oder einer Tastenkombination zu, um es schnell auszuführen.

Dieser Code öffnet das Dialogfeld „Speichern unter“ und übernimmt den Dateinamen aus der Zelle CA13 in „Tabelle13“.


Häufige Fehler und Lösungen

  • Fehler: Keine Fehlermeldung, aber die Datei wird nicht gespeichert.

    • Lösung: Stelle sicher, dass Du den Dateinamen korrekt übergibst und dass der Pfad existiert. Überprüfe auch, ob Du die Datei tatsächlich speicherst, indem Du die SaveCopyAs-Methode verwendest.
  • Fehler: Dialogfeld bleibt leer.

    • Lösung: Überprüfe, ob die Zelle CA13 einen gültigen Namen enthält. Es dürfen keine ungültigen Zeichen im Dateinamen sein.

Alternative Methoden

  • Direktes Speichern ohne Dialogfeld:

    Sub DirektSpeichern()
        Dim sFile As String
        sFile = "C:\DeinPfad\" & Sheets("Tabelle13").Range("CA13").Value & ".xls"
        ThisWorkbook.SaveAs Filename:=sFile, FileFormat:=xlExcel8
    End Sub
  • Dateiname aus einer anderen Zelle ziehen: Ändere einfach die Zellreferenz in der Zeile, die den Dateinamen festlegt.


Praktische Beispiele

Wenn Du ein Makro zum Speichern in einen bestimmten Ordner mit einem Dateinamen aus einer Zelle erstellen möchtest, kann das so aussehen:

Sub Speichern_unter()
    Dim sFile As Variant
    Dim speicherPfad As String
    speicherPfad = "C:\DeinOrdner\"
    sFile = Application.GetSaveAsFilename(speicherPfad & Sheets("Tabelle13").Range("CA13").Value, _
    fileFilter:="Microsoft Office Excel-Arbeitsmappe (*.xls), *.xls")

    If sFile <> False Then
        ' Speichern der Datei
        ThisWorkbook.SaveAs Filename:=sFile, FileFormat:=xlExcel8
    End If
End Sub

Tipps für Profis

  • Validierung des Dateinamens: Füge eine Validierung hinzu, um sicherzustellen, dass der Dateiname keine ungültigen Zeichen enthält.
  • Benutzerfreundlichkeit: Verwende MsgBox oder UserForms, um dem Benutzer mehr Informationen über den Speichervorgang zu geben.
  • Automatisierung: Du kannst das Makro so anpassen, dass es automatisch in festgelegte Ordner speichert, basierend auf bestimmten Kriterien oder Zeitplänen.

FAQ: Häufige Fragen

1. Wie kann ich den Dateipfad automatisch anpassen? Du kannst den Pfad in eine Zelle einfügen und diesen Wert im Makro verwenden, um den Speicherort dynamisch zu ändern.

2. Was mache ich, wenn das Makro nicht funktioniert? Überprüfe den Code auf Tippfehler, stelle sicher, dass die Zellreferenzen korrekt sind, und führe das Makro im Debug-Modus aus, um Fehler zu identifizieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige