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

Forumthread: Zeichen in einem String austauschen

Zeichen in einem String austauschen
13.05.2024 21:39:28
Thomas
Guten Abend, ich stehe wieder vor einem Problem.

Ein Beispiel:

Hallo> Hallo > Hallo: Hallo : Hallo / Hallo

Hier sind ein paar Sonderzeichen die in einem Dateinamen nicht akzeptiert werden.

Wie lassen sich per VBA diese Sonderzeichen und Leerzeichen in diesem String durch einen "-" austauschen?

Danke für die Hilfe im Voraus.

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichen in einem String austauschen
14.05.2024 08:09:33
MCO
Moin!

Zu diesem Zweck hab ich mal eine Funktion gebaut, die aber mehr beachtet als nur ungültige Zeichen.
Was du nicht brauchst kannst du ra raussschmeissen.
Function Sonderzeichenkiller(ByRef Text As String) As String

Dim Sonderzeichen As String, i As Long
Application.Volatile
'Zeichen, die gelöscht werden, zum speichern von Dateinamen
Sonderzeichen1 = "!:'*#*()+>{}[]&%~?=$€|" & chr(34) & chr(9) 'Chr(34)=" 'zum löschen
Sonderzeichen2 = "/\" 'zum ersetzen
'keine Aktion bei "-_"
For i = 1 To Len(Sonderzeichen1)
Text = Replace(Text, Mid(Sonderzeichen1, i, 1), "")
dopp = Mid(Sonderzeichen1, i, 1) & Mid(Sonderzeichen1, i, 1)
Do
Text = Replace(Text, dopp, Mid(Sonderzeichen1, i, 1)) 'doppelte Zeichen entfernen
Loop While InStr(Text, dopp) > 0
Next i

For i = 1 To Len(Sonderzeichen2)
dopp = Mid(Sonderzeichen2, i, 1) & Mid(Sonderzeichen2, i, 1)
Do
Text = Replace(Text, dopp, Mid(Sonderzeichen2, i, 1)) 'doppelte Zeichen entfernen
Loop While InStr(Text, dopp) > 0
Text = Replace(Text, Mid(Sonderzeichen2, i, 1), "_")
Next i

dopp = " " '2 Leerzeichen

Do
Text = Replace(Text, dopp, " ") 'doppelte Zeichen entfernen
Loop While InStr(Text, dopp) > 0

Text = Replace(Text, " _ ", "_")
Sonderzeichenkiller = Text
End Function


Gruß, MCO
Anzeige
AW: Zeichen in einem String austauschen
14.05.2024 16:52:44
Thomas
Hallo MCO,
das ist super danke. Bin es am testen und einstellen. Habe noch die ungültige Variable entfernt und alle anderen Variablen die nicht enthalten waren ergänzt.

Besten Dank
Gruss
Thomas
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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