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

Zeichen ersetzen

Forumthread: Zeichen ersetzen

Zeichen ersetzen
16.09.2003 17:28:13
robert
mh ist wahrscheinlich einfach für leute die sich mit VBA auskennen, ich komm aber einfach nicht hinter..

Ich würde gerne die range A1:C16 nach Zeichen in den Felder durchsuchen. Wenn er zb in B5 das zeichen ~ findet soll er es durch ein ? ersetzen.

Wenn möglich ebenso für alle Sondrzeichen (wenn nicht möglich nur ein paar einzelne wie † und ‡)

bin für rat sehr dankbar.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Sonderzeichen ersetzen
16.09.2003 17:35:14
Boris
Hi Robert,

als kleiner Ansatz:
Markiere deine Einträge und starte folgendes Makro.
Ersetzt wird ~ * ?

Option Explicit


Sub wechseln()
Dim C As Range, Bereich As Range
Dim Awf As WorksheetFunction
Set Awf = Application.WorksheetFunction
Set Bereich = Selection
With Awf
For Each C In Bereich
C = .Substitute(.Substitute(.Substitute(C, "~", ""), "*", ""), "?", "")
Next C
End With
End Sub


Das kann man natürlich noch erweitern.

Grüße Boris
Anzeige
AW: Sonderzeichen ersetzen
16.09.2003 17:45:34
robert
danke für die rasche antwort. wofür ist denn das mit dem awf?
kannst du vielleicht das makro so machen das es die range A1:c16 wirklich nimmt? weil es soll nich tvor jedem start der bereich markiert werden.
hab die datei nicht auf meinen rechner klappt das mit den
C = .Substitute(.Substitute(.Substitute(C, "~", ""), "*", ""), "?", "")
denn? hab den befehl nie gehört also auch keine ahnung wie der funktioniert..wofür steht c und wird dadurch das ~ mit einem fragezeichen ersetzt?
Anzeige
Sonderzeichen ersetzen - kleine Anpassung
16.09.2003 17:59:08
Boris
Hi Robert,

muss mich erstmal korrigieren:
Ich hatte die Sonderzeichen durch NIX ersetzt - insofern hab ich das jetzt auch mal angepasst:

Option Explicit


Sub wechseln()
Dim C As Range, Bereich As Range
Dim Awf As WorksheetFunction
Set Awf = Application.WorksheetFunction
Set Bereich = [a1:c16] 'Hier kannst du den Bereich vorgeben
With Awf
For Each C In Bereich
C = .Substitute(.Substitute(.Substitute(C, "~", "?"), "*", "?"), "+", "?")
Next C
End With
End Sub


Hier werden die Sonderzeichen "~", "*" und "+" durch ein "?" ersetzt - und zwar jetzt im Bereich A1:C16.

Kurz zum Code (aber wirklich nur kurz;-))
Der zu bearbeitende Zellbereich wird in der Variable "Bereich" gespeichert.
Mit "For each C in Bereich" wird jede einzelne Zelle (dafür steht das C) im Bereich "abgearbeitet".

Der neue Eintrag einer jeden Zelle (C) ergibt sich dann dadurch, dass die "Application.WorksheetFunction.Substitute" in verschachtelter Form die einzelnen Sonderzeichen durch ein "?" ersetzt. Substitute ist die englische Funktionsbezeichnung für die Excelfunktion "WECHSELN".
Und da ich keine Lust habe, jedes mal "Application.WorksheetFunction" vor jedes Substitute zu schreiben, pack ich das noch in die Variable "Awf" und arbeite dann mit der "With-Anweisung". Näheres dazu findest du in der VBA-Hilfe.

Grüße Boris
Anzeige
AW: Sonderzeichen ersetzen - kleine Anpassung
16.09.2003 18:07:08
robert
klingt sehr gut und auch sehr verständlich

vielen dank :)
;

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