2016-11-21 21 views
0

Ich versuche, rumänische Zeichen (wie "şţŞŢ") aus einer Excel-Datei mit VBA zu ersetzen, aber ich kann es nicht herausfinden.Ersetzen Sie Sonderzeichen durch VBA

Im VBA-Editor, wenn ich versuche, "ş" oder "ţ" zu schreiben, wird es durch "?" Ersetzt. Warum???

Ich habe versucht, auch einen anderen Ansatz wie:

Selection.Replace What:="ş", Replacement:="s", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

aber es hat absolutelly nichts ... Bitte helfen.

Antwort

2

Ich habe versucht, nur eine schnelle Lösung für S, die den ASCII-Code hat 351. So könnte es mit

ChrW(351) 

So, hier ist mein Code beschrieben werden:

Sub replance() 

Dim rng As Range 

Set rng = Worksheets(1).Columns("A:G") 

rng.Replace What:=ChrW(351), Replacement:="s", SearchOrder:=xlByColumns, MatchCase:=True 

End Sub 
+0

außer Sieht gut aus für Terminologie. ChrW verwendet eine UTF-16-Code-Einheit. UTF-16 ist eine Codierung des Unicode-Zeichensatzes. Die betreffenden Zeichen benötigen jeweils eine UTF-16-Code-Einheit. Hex wäre die bevorzugte Basis, weil Sie die Code-Einheit & H15F direkt dem Codepunkt [U + 015F] (http://www.fileformat.info/info/unicode/char/015f/index.htm) (ş) zuordnen könnten. –

+0

ChrW funktioniert super, danke! – user3254924

+0

Welche Funktion kann für Hex verwendet werden? – user3254924

Verwandte Themen