Sonderzeichen in Excel in Umlaute ändern per Makro
05.03.2007
14:41:05 Uhr14661 Aufrufe
1 Antwort
14:41:05 Uhr
1 Antwort
Noch nicht bewertet
Anhand des folgenden Makros ist es möglich, Sonderzeichen, die eigentlich für Umlaute stehen sollen, durch entsprechende Umlaute zu ersetzten. Hierbei kamen die Sonderzeichen aufgrund eines Importes (DBF-Datei) zustande:
Da der VB-Editor nicht alle Sonderzeichen kannte, bzw. darstellen konnte, mußten die letzten drei zunächst ermittelt werden:
Die Sonderzeichen habe ich im Direktfenster des VB-Editors durch folgende Eingabe ermittelt:
? StrConv(Range("A1"), vbUnicode)
Nun das Makro:
Sub Umlaute
Selection.Copy
Cells.Replace What:="÷", Replacement:="ö", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False
Selection.Copy
Cells.Replace What:="³", Replacement:="ü", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False
Selection.Copy
Cells.Replace What:="õ", Replacement:="ä", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False
Selection.Copy
Cells.Replace What:="Í", Replacement:="Ö", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False
Selection.Copy
Cells.Replace What:=StrConv("€%", vbFromUnicode), Replacement:="ß", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False
Selection.Copy
Cells.Replace What:=StrConv(""%", vbFromUnicode), Replacement:="Ü", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False
Selection.Copy
Cells.Replace What:=StrConv(Chr$(0) + "%", vbFromUnicode), Replacement:="Ä", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False
End Sub
Da der VB-Editor nicht alle Sonderzeichen kannte, bzw. darstellen konnte, mußten die letzten drei zunächst ermittelt werden:
Die Sonderzeichen habe ich im Direktfenster des VB-Editors durch folgende Eingabe ermittelt:
? StrConv(Range("A1"), vbUnicode)
Nun das Makro:
Sub Umlaute
Selection.Copy
Cells.Replace What:="÷", Replacement:="ö", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False
Selection.Copy
Cells.Replace What:="³", Replacement:="ü", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False
Selection.Copy
Cells.Replace What:="õ", Replacement:="ä", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False
Selection.Copy
Cells.Replace What:="Í", Replacement:="Ö", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False
Selection.Copy
Cells.Replace What:=StrConv("€%", vbFromUnicode), Replacement:="ß", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False
Selection.Copy
Cells.Replace What:=StrConv(""%", vbFromUnicode), Replacement:="Ü", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False
Selection.Copy
Cells.Replace What:=StrConv(Chr$(0) + "%", vbFromUnicode), Replacement:="Ä", LookAt:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=False
End Sub
Lonesome Walker schreibt am 05.03.2007 um 17:03:59 Uhr
Ich hab's mal als Tutorial/Anleitung gekennzeichnet 
Lonesome Walker
Lonesome Walker





