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

Forumthread: Dateiname aus Zelle übernehmen

Dateiname aus Zelle übernehmen
09.04.2019 11:28:23
Marco
Hallo zusammen,
ich habe mich mehrere Stunden durch die Foren gequält und gebe jetzt auf und bitte um Eure Hilfe.
Ich erstelle eine Datei in Excel mit Makros und gebe diese an verschiedene Mitarbeiter mit unterschiedlichen Computern und Systemen.
Wenn die Datei gespeichert wird, dann soll der Dateiname aus Sheets("Variablen").range("a1") übernommen werden und zur Speicherung MIT Makro angeboten werden.
- Der Dateipfad soll nicht vorgegeben sein (eigene Struktur der Mitarbeiter)
- Ich möchte keinen Button zum speichern
- Es soll als "Speichern unter", "Speichern" und "Klick auf die Diskette" funktionieren.
Wer rettet mich (mit wenig Ahnung in VBA).
Danke im Vorraus,
Marco
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Dateiname aus Zelle übernehmen
09.04.2019 18:18:28
cysu11
Hi Marco,
so:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Abbrechen As Boolean)
Dateiname = Sheets("Variablen").Range("A1").Text
Application.Dialogs(xlDialogSaveAs).Show Dateiname, xlOpenXMLWorkbookMacroEnabled
End Sub
LG
Alexandra
Anzeige
AW: Dateiname aus Zelle übernehmen
10.04.2019 08:22:49
Marco
Hallo Alexandra,
vielen Dank für den Code. Ich habe noch etwas ergänzt und er läuft genauso wie erhofft.
DANKE!!!
Beste Grüße
Marco
IN: Diese Arbeitsmappe:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Abbrechen As Boolean)
Dim Dateiname As String
Dateiname = Sheets("Variablen").Range("A1").Value
Application.Dialogs(xlDialogSaveAs).Show Dateiname, xlOpenXMLWorkbookMacroEnabled
End Sub

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Dateiname aus Zelle übernehmen


Schritt-für-Schritt-Anleitung

Um den Dateinamen aus einer Zelle in Excel zu übernehmen, kannst du den folgenden VBA-Code verwenden. Dieser sorgt dafür, dass der Dateiname beim Speichern automatisch aus der Zelle A1 im Blatt "Variablen" übernommen wird.

  1. Öffne die Excel-Datei, in der du den Dateinamen automatisch generieren möchtest.
  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Doppelklicke im Projektfenster auf Diese Arbeitsmappe.
  4. Füge den folgenden Code ein:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Abbrechen As Boolean)
    Dim Dateiname As String
    Dateiname = Sheets("Variablen").Range("A1").Value
    Application.Dialogs(xlDialogSaveAs).Show Dateiname, xlOpenXMLWorkbookMacroEnabled
End Sub
  1. Schließe den VBA-Editor und speichere deine Datei.
  2. Teste das Speichern durch Klicken auf "Speichern" oder das Diskettensymbol. Der Dateiname sollte nun automatisch aus der Zelle übernommen werden.

Häufige Fehler und Lösungen

  • Fehler: Der Dateiname wird nicht übernommen.

    • Lösung: Stelle sicher, dass die Zelle A1 im Blatt "Variablen" tatsächlich einen gültigen Dateinamen enthält.
  • Fehler: Das Makro läuft nicht.

    • Lösung: Überprüfe, ob die Makros in deiner Excel-Datei aktiviert sind und dass du die Datei im richtigen Format (.xlsm) speicherst.

Alternative Methoden

Falls du keinen VBA-Code verwenden möchtest, kannst du den Dateinamen auch manuell in die Zelle eintragen und dann die Funktion "Speichern unter" nutzen. Hierbei musst du jedoch jedes Mal den Namen manuell eingeben, was weniger effizient ist.

Eine andere Möglichkeit ist, Excel-Formeln zu verwenden, um den gewünschten Namen zu generieren, aber dies erfordert zusätzliche Schritte und ist nicht so direkt wie die Verwendung von VBA.


Praktische Beispiele

Angenommen, du möchtest die Excel-Datei "Monatsbericht" nennen und hast diesen Namen in die Zelle A1 im Blatt "Variablen" eingegeben. Wenn du jetzt das Speichern durchführst, wird der Dialog automatisch mit "Monatsbericht" als vorgeschlagenem Dateinamen geöffnet.

Ein weiteres Beispiel: Wenn du mehrere Berichte hast und den Namen dynamisch ändern möchtest, kannst du die Zelle A1 entsprechend anpassen, um verschiedene Dateinamen zu generieren.


Tipps für Profis

  • Dateinamen validieren: Stelle sicher, dass der Dateiname keine Sonderzeichen enthält, die in Dateisystemen nicht erlaubt sind. Du kannst zusätzliche Validierungen im VBA-Code einfügen, um dies zu überprüfen.

  • Automatische Speicherung: Du kannst den Code erweitern, um die Datei automatisch zu speichern, ohne den Dialog anzuzeigen, jedoch solltest du dies mit Vorsicht verwenden, um Datenverlust zu vermeiden.


FAQ: Häufige Fragen

1. Kann ich den Dateinamen aus einer anderen Zelle übernehmen?
Ja, ändere einfach die Zellreferenz in dem VBA-Code von Range("A1") auf die gewünschte Zelle.

2. Funktioniert dieser Code in älteren Excel-Versionen?
Der Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen. Achte darauf, dass du die Datei im .xlsm Format speicherst.

3. Was passiert, wenn die Zelle leer ist?
Wenn die Zelle leer ist, wird Excel dich auffordern, einen gültigen Namen einzugeben. Du kannst den Code anpassen, um einen Standardnamen zu verwenden, falls die Zelle leer ist.

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