Zeichen

Bild

Betrifft: Zeichen
von: Rosenfeld
Geschrieben am: 07.09.2015 17:11:14

Hallo zusammen,
ich will Einträge einer Liste mit einem Suchtext in zwei Spalten vergleichen.
Die Einträge sehen zwar gleich aus, sie sind aber unterschiedlich, so dass ich zunächst eine Zeichengleichheit herstellen muss.

Wie kann ich die Indexzahl des letzten Zeichens in dem entsprechenden String ermitteln (entweder per Formel oder mit VBA)?
Gruß
Siegfried

Bild

Betrifft: AW: Zeichen
von: Daniel
Geschrieben am: 07.09.2015 17:47:47
Hi
ich vermute mal, dass du führende oder folgende Leerzeichen in dem String eleminieren willst und beispielsweise "abcede " in "abcde" wandeln musst, weil in der anderen Datei die Texte ohne Lehrzeichen am Schluss stehen.
in Excel gibt's dafür die Funktion GLÄTTEN, welche führende und folgende Leerzeichen löscht, sowie im Text alle mehrfach hintereinander stehenden Leerzeichen zu einem zusammenfasst:
" abc def " wird zu "abc def"
in VBA gibt's die Funktion TRIM, welche aber nur führende und folgende Leerzeichen entfernt.
um auch die mittleren Leerzeichen zu max einem zusammen zu fassen müsstest du WORKSHEETFUNCTION.TRIM verwenden.
Gruß Daniel

Bild

Betrifft: AW: Zeichen
von: Rosenfeld
Geschrieben am: 07.09.2015 17:57:22
Hi Daniel,
die Function >Trim< verwende ich schon, sie entfernt aber nur evtl. vorhandene Leerzeichen.
Mein Problem besteht darin, dass manchmal auch ein anderes nicht sichtbares Zeichen vorkommt.
Deshalb ist mein derzeitiger Ansatz, dass ich die Indexzahl des letzten Zeichens herausfinden will, um daraus abzuleiten, ob das Zeichen mit dem letzten Zeichen des Suchtextes übereinstimmt.
Gruß
Siegfried

Bild

Betrifft: AW: Zeichen
von: Daniel
Geschrieben am: 07.09.2015 18:18:19
HI
die Indexzahl des letzten Zeichens ist doch identsich mit der Textlänge und dafür gibt's die Funktionen LEN() bzw Länge().
Gruß Daniel

Bild

Betrifft: AW: Zeichen
von: Daniel
Geschrieben am: 07.09.2015 18:21:44
sollte hier das geschütze Leerzeichen (ASCII 160) im Spiel sein, kannst du ja dieses vor dem Trimmen durch das normale Leerzeichen (ASCII 32) ersetzen, damit es dann ebenfalls eleminiert wird.
Gruß Daniel

Bild

Betrifft: AW: Zeichen
von: Rosenfeld
Geschrieben am: 07.09.2015 18:42:08
Hi Daniel,
zu deinem 1. Hinweis:
mit der Formel =Zeichen(20) erhalte ich ein Zeichen, das hat mit der Textlänge aber nichts zu tun.
Deinen 2. Hinweis will ich gleich mal testen, bis dahin erst mal Danke.
Gruß
Siegfried

Bild

Betrifft: AW: Zeichen
von: Daniel
Geschrieben am: 07.09.2015 18:54:54
dann gibt es noch die Excelfunktion SÄUBERN, welche nicht druckbare Zeichen aus einem Text eleminiert.
(bspw auch das Zeichen 20)
Gruß Daniel

Bild

Betrifft: AW: Zeichen
von: Rosenfeld
Geschrieben am: 07.09.2015 19:04:24
Hi Daniel,
es handelt sich in dem derzeitigen Fall um das Zeichen 160.
Damit komme ich jedenfalls schon mal einen Schritt weiter.
Danke und Gruß
Siegfried

Bild

Betrifft: AW: Zeichen
von: Daniel
Geschrieben am: 07.09.2015 19:34:52
Hi
das Zeichen 160 ist ein reguläres Zeichen.
Es ist ein Leerzeichen, welches aber von den Funktionen "Glätten" oder "Zeilenumbruch bei Wortgrenze" nicht als Leerzeichen, sondern wie ein normales Textzeichen gewertet wird.
Gruß Daniel

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zeichen"