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

Forumthread: Ungültige Zeichen beim Speichern ersetzen

Ungültige Zeichen beim Speichern ersetzen
25.01.2014 10:11:10
Andreas
Hallo liebe Excel-User,
ich habe eine Exceldatei, aus der ich mittels Makro einzelne Tabellenblätter als separate Datei in einem Ordner auf Festplatte speichere.
Der Dateiname für das separat gespeicherte Tabellenblatt kommt aus dem Inhalt der Zelle "A1". Wenn in "A1" steht "Gemüsebestellung", dann wird das Tabellenblatt abgespeichert unter C:\Gemüsebestellung.xls
Da ich den Eintrag in Zelle A1 nicht beinflussen kann, passiert es auch, dass in dieser Zelle mal eine Bezeichnung steht, die beim Speichern dann Probleme macht. Dort kann auch mal stehen "Gemüsebestellung / Obstbestellung". Da sich das '/' nicht in einem Dateinamen verwenden lässt, gibt es somit Probleme beim Speichern der Daten.
Wie kann ich für die Speicherung ungültige Zeichen durch z.B. einen einfachen Unterstrich (_) ersetzen ? Irgendwie müsste das Makro abfragen, ob ein ungütliges Zeichen vorhanden ist, und dieses dann beim Speichern gegen ein _ austauschen.
Aber wie ? Einen richtigen Lösungsansatz habe ich nicht gefunden, weil ich nicht weiss, wie man am besten ungültige Zeichen definiert. Geht das überhaupt irgendwie ?
Ich wäre für jeden Denkansatz, vielleich auch einen Beispiel-VBA-Code, sehr dankbar.
Viele Grüße
Andreas

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Ungültige Zeichen beim Speichern in Excel ersetzen


Schritt-für-Schritt-Anleitung

Um ungültige Zeichen aus Dateinamen zu entfernen und sicherzustellen, dass Deine Excel-Dateien korrekt gespeichert werden, kannst Du folgendes Makro verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Kopiere den folgenden VBA-Code in das Modul:
Sub SpeichernMitValidemDateinamen()
    Dim ws As Worksheet
    Dim dateiname As String
    Dim ungültigeZeichen As Variant
    Dim i As Integer

    Set ws = ThisWorkbook.Sheets("DeinTabellenblatt") ' Ändere den Namen des Tabellenblatts
    dateiname = ws.Range("A1").Value ' Nimmt den Dateinamen aus Zelle A1

    ' Liste der verbotenen Zeichen in Dateinamen
    ungültigeZeichen = Array("/", "\", ":", "*", "?", """", "<", ">", "|")

    ' Ersetze ungültige Zeichen durch _
    For i = LBound(ungültigeZeichen) To UBound(ungültigeZeichen)
        dateiname = Replace(dateiname, ungültigeZeichen(i), "_")
    Next i

    ' Speichern der Datei
    ThisWorkbook.SaveAs "C:\" & dateiname & ".xls" ' Pfad anpassen
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Führe das Makro aus, um das Tabellenblatt mit einem gültigen Dateinamen zu speichern.

Häufige Fehler und Lösungen

  • Fehler: „Zugriff verweigert“ beim Speichern

    • Lösung: Stelle sicher, dass Du Schreibrechte im Zielordner hast.
  • Fehler: Ungültiger Dateiname

    • Lösung: Überprüfe, ob in Zelle A1 unerwartete Zeichen vorhanden sind, die nicht ersetzt werden.
  • Makro läuft nicht

    • Lösung: Stelle sicher, dass Makros in Deinen Excel-Einstellungen aktiviert sind.

Alternative Methoden

Eine einfache Methode, um ungültige Zeichen zu vermeiden, ist die Verwendung von Excel-Formeln:

  1. Füge in eine freie Zelle die folgende Formel ein:
=WECHSELN(WECHSELN(A1, "/", "_"), "\", "_")
  1. Diese Formel ersetzt das Zeichen / und \ durch _. Du kannst weitere WECHSELN-Funktionen hinzufügen, um andere ungültige Zeichen zu ersetzen.

Praktische Beispiele

  • Wenn in Zelle A1 „Gemüsebestellung / Obstbestellung“ steht, wird die Datei unter dem Namen „Gemüsebestellung _ Obstbestellung.xls“ gespeichert.
  • Bei der Eingabe von „Bericht: Q1 2023“ wird der Dateiname zu „Bericht_ Q1 2023.xls“.

Tipps für Profis

  • Verwende eine Funktion, die alle verbotenen Zeichen in einem Schritt ersetzt, um Deinen Code zu optimieren.
  • Überlege, ob Du eine Liste von erlaubten Zeichen führst und die Eingabe des Benutzers validierst, bevor Du den Dateinamen festlegst.

FAQ: Häufige Fragen

1. Was sind verbotene Zeichen in Dateinamen?
Verbotene Zeichen in Windows-Dateinamen sind: /, \, :, *, ?, ", <, >, |.

2. Kann ich das Makro anpassen?
Ja, Du kannst das Makro anpassen, um zusätzliche Zeichen zu ersetzen oder den Speicherort zu ändern.

3. Funktioniert das auch in Excel 365?
Ja, die beschriebenen Methoden und das Makro funktionieren in Excel 365 und anderen Versionen, die VBA unterstützen.

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