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

Zeichen ersetzen

Zeichen ersetzen
18.09.2003 20:16:29
robert
Wie unten geschildert hat ich schon eine gut elösung bekommen, allerdings hab ich nun ei neues problem. Ich muss ubedingt die " irgednwie ersetzen lassen..nur wie?


"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

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichen ersetzen
18.09.2003 23:02:10
Björn B.
Hallo Robert,

versuchs doch mal so... """"

bzw.


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

Gruß
Björn B.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige