Wir müssen zuerst den falschen Charakter identifizieren und ihn dann entfernen.
Fügen Sie zunächst die folgende benutzerdefinierte Funktion in ein Standardmodul ein:
Public Function WhatsIn(s As String) As String Dim msg As String, i As Long, L As Long L = Len(s) msg = L & vbCrLf For i = 1 To L msg = msg & i & " " & AscW(Mid(s, i, 1)) & vbCrLf Next i WhatsIn = msg End Function
Die Funktion sagt uns genau, was eine Zelle enthält. Es gibt:
- die Anzahl der Zeichen
- für jedes Zeichen den Unicode-Wert
Hier ist ein Beispiel:
Wir wissen, wie viele Zeichen die Zelle C2 enthält, und wir kennen den ASCII-Code für jedes Zeichen.
Benutzerdefinierte Funktionen (UDFs) sind sehr einfach zu installieren und zu verwenden:
- ALT-F11 öffnet das VBE-Fenster
- ALT-I ALT-M öffnet ein neues Modul
- Fügen Sie das Zeug ein und schließen Sie das VBE-Fenster
Wenn Sie die Arbeitsmappe speichern, wird die UDF damit gespeichert. Wenn Sie später als 2003 eine Version von Excel verwenden, müssen Sie die Datei als .xlsm statt als .xlsx speichern
So entfernen Sie die UDF:
- Öffnen Sie das VBE-Fenster wie oben
- Löschen Sie den Code
- Schließen Sie das VBE-Fenster
So verwenden Sie die UDF aus Excel:
= WhatsIn (A1)
Weitere Informationen zu Makros im Allgemeinen finden Sie unter:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
und
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
und Einzelheiten zu UDFs finden Sie unter:
http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx
Makros müssen aktiviert sein, damit dies funktioniert!
Sobald wir die ASCII-Nummer kennen, führen Sie ein Makro wie folgt aus:
Sub KleanUp() Cells.Replace ChrW(166), "" End Sub
wo würden wir die 166 durch die tatsächliche Zahl ersetzen .