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

Forumthread: Sonderzeichen entfernen

Sonderzeichen entfernen
26.03.2007 11:22:00
chris
Hallo zusammen,
ich versuche gerade wieder etwas neues in VBA.
und zwar habe ich einen String. In diesem staring sind sonderzeichen vohanden wie z.b
"_" oder "?" oder "-" usw...
Wie schaffe ich es aus einem String alle Sonderzeichen zu entfernen die stören würden wenn ich die datei unter dem namen speichern wollen würde ?
Sonderzeichen wie z.b "_" würden ja den Namen nicht stören nur evtl z.b ":" darf nicht vorhanden sein.
Oder muss ich jedes sonderzeichen mit z.b chr(bla) einzeln angeben ?
Danke für eure Hilfe !
gruß Chris
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sonderzeichen entfernen
26.03.2007 11:29:15
Oberschlumpf
Hi Chris
Versuch es mal so:
DeinString = Replace(DeinString,":","-") 'ersetzt alle ":" durch "-"
DeinString = Replace(DeinString,"?","-") 'ersetzt alle "?" durch "-"
DeinString = Replace(DeinString,"/","-") 'ersetzt alle "/" durch "-"
DeinString = Replace(DeinString,"\","-") 'ersetzt alle "\" durch "-"
....
ThisWorkbook.SaveAs DeinPfad & DeinString
verwende diese Zeile für alle weiteren Zeichen, die nicht im Dateinamen stehen dürfen, dich ich jetzt aber vergessen habe.
Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: Sonderzeichen entfernen
26.03.2007 11:39:00
chris
Hallo Thorsten,
Danke hat mir schon geholfen.
Aber das war meine vermutung wie hier schon in der frage
--- Oder muss ich jedes sonderzeichen mit z.b chr(bla) einzeln angeben ?
dachte vielleicht gibt es etwas das mir die störenden Sonderzeichen automatisch entfernt.
Danke trotzdem !!! schönen Tag noch
Anzeige
AW: Sonderzeichen entfernen
26.03.2007 12:56:00
bst
Hi,
dieses löscht alles außer Buchstaben und Zahlen.
cu, Bernd
--
Option Explicit

Function OnlyAlphaNumeric(strText As String) As String
    Dim re As Object
    
    Set re = CreateObject("vbscript.regexp")
    ' Alles außer a-z, A-Z und 0-9
    re.Pattern = "[^a-zA-Z0-9]+"
    re.Global = True
    OnlyAlphaNumeric = re.Replace(strText, "")
    Set re = Nothing
End Function


Anzeige
AW: Sonderzeichen entfernen
26.03.2007 16:33:00
chris
Danke Bernd.
das ist etwas zu krass :)
Schönen Tag noch !
;
Anzeige
Anzeige

Infobox / Tutorial

Sonderzeichen in Excel entfernen


Schritt-für-Schritt-Anleitung

Um Sonderzeichen in Excel zu entfernen, kannst Du verschiedene Methoden anwenden. Hier sind einige einfache Schritte:

  1. VBA-Methode: Wenn Du mit VBA vertraut bist, kannst Du eine Funktion erstellen, die alle unerwünschten Zeichen entfernt. Hier ist ein Beispiel für eine Funktion, die alle Zeichen außer Buchstaben und Zahlen entfernt:

    Option Explicit
    
    Function OnlyAlphaNumeric(strText As String) As String
       Dim re As Object
       Set re = CreateObject("vbscript.regexp")
       ' Alles außer a-z, A-Z und 0-9
       re.Pattern = "[^a-zA-Z0-9]+"
       re.Global = True
       OnlyAlphaNumeric = re.Replace(strText, "")
       Set re = Nothing
    End Function
  2. Ersatzmethode mit VBA: Wenn Du nur spezifische Sonderzeichen entfernen möchtest, kannst Du die Replace-Funktion verwenden, wie in diesem Beispiel:

    DeinString = Replace(DeinString, ":", "-") ' ersetzt ":" durch "-"
    DeinString = Replace(DeinString, "?", "-") ' ersetzt "?" durch "-"
  3. Power Query: Wenn Du Power Query verwendest, kannst Du Zeichen ganz einfach über die Transformationsoptionen entfernen. Hierbei kannst Du die Spalte auswählen und dann in den Transformationswerkzeugen das Zeichen entfernen.


Häufige Fehler und Lösungen

  • Fehler: Die Funktion entfernt nicht alle Sonderzeichen.

    • Lösung: Überprüfe, ob der reguläre Ausdruck korrekt ist. Stelle sicher, dass Du das Muster anpasst, um die gewünschten Zeichen zu erfassen.
  • Fehler: VBA-Code funktioniert nicht.

    • Lösung: Achte darauf, dass Du den Code in ein Modul einfügst und dass die Makros aktiviert sind.

Alternative Methoden

  • Excel-Formeln: Du kannst auch Excel-Formeln verwenden, um Sonderzeichen zu entfernen. Eine Möglichkeit ist die Kombination von SUBSTITUTE und TEXTJOIN (in neueren Excel-Versionen).

  • Text in Spalten: Wenn die Daten in einer bestimmten Spalte stehen, kannst Du die Funktion "Text in Spalten" verwenden, um die Zeichen zu trennen und unerwünschte Zeichen zu entfernen.


Praktische Beispiele

  1. Beispiel für VBA: Wenn Du einen Namen hast, der folgende Zeichen enthält: "Max:Mustermann?", kannst Du den Namen wie folgt bereinigen:

    Dim DeinString As String
    DeinString = "Max:Mustermann?"
    DeinString = Replace(DeinString, ":", "")
    DeinString = Replace(DeinString, "?", "")
    ' Ergebnis: "MaxMustermann"
  2. Beispiel für Power Query:

    • Lade Deine Daten in Power Query.
    • Wähle die Spalte aus, gehe zu "Transformieren" und wähle "Ersetzen".
    • Gib die unerwünschten Zeichen ein und lasse das Feld leer, um sie zu entfernen.

Tipps für Profis

  • Nutze reguläre Ausdrücke in VBA, um komplexe Muster zu erfassen und zu entfernen.
  • Wenn Du häufig Sonderzeichen entfernen musst, erwäge, eine benutzerdefinierte Excel-Funktion zu erstellen, die Du immer wieder verwenden kannst.
  • Halte Deine VBA-Module sauber und dokumentiere Deinen Code, um die Wartung zu erleichtern.

FAQ: Häufige Fragen

1. Wie kann ich alle Sonderzeichen in Excel entfernen?
Du kannst die OnlyAlphaNumeric Funktion verwenden, um alle Zeichen außer Zahlen und Buchstaben zu entfernen.

2. Gibt es eine einfache Excel-Formel, um Sonderzeichen zu entfernen?
Ja, Du kannst die SUBSTITUTE-Funktion nutzen, um spezifische Zeichen zu ersetzen. Für komplexere Anforderungen sind VBA oder Power Query empfehlenswert.

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