Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
308to312
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
308to312
308to312
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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.

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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige