Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
904to908
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
904to908
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Umlaute umsetzen

Umlaute umsetzen
13.09.2007 07:43:00
ede
Guten Morgen an aLLe,
habe seit kurzer Zeit ein Problem mit Umlauten, Nach dem Import aus wks-Files werden die Umlaute nicht mehr richtig dargestellt. Mit einem Makro möchte ich diese umwandel, was bis auf das "ß" auch funktioniert.
Habe zwar im Archiv gesucht, aber bei den vielen Einträgen noch nicht den richtigen Hinweis gefunden. Hat jemand eine Idee und kann mir helfen.
https://www.herber.de/bbs/user/45979.xls
Danke
ede

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Umlaute umsetzen
13.09.2007 08:26:14
Oberschlumpf
Hi ede
Ich habs jetzt nicht ausprobiert, aber versuch doch mal diese Idee umzusetzen.
Jedes Zeichen hat ja in der ASC II-Tabelle seinen Platz. So auch die Buchstaben...A - Z = 65 - 91..glaube ich. Und das "kleine" Alphabet auch.
Lass doch jedes Wort durch eine Schleife laufen, prüfe, ob der ASC II-Wert eines jeden Buchstabens innerhalb des erlaubten Bereichs liegt.
Wenn dem nicht so ist, prüfst du den gefundenen Wert mit den dir bekannten "nicht erlaubten" Werten und ersetzt entsprechend.
Wenn der gefundene Wert aber auch keinem der bekannten Werte entspricht, weißt du, dass es sich um das ß handelt.
Voraussetzung ist natürlich, dass dir alle anderen Umlaute, bzw das, was Excel dafür hält, bekannt sind.
Hilft das?
Ciao
Thorsten

Anzeige
AW: Umlaute umsetzen
13.09.2007 08:33:00
ede
hallo torsten,
dies ist mir einfach erstmal zu aufwendig, da ich das problem nur auf einen pc habe.
auf einem anderen pc (auch WinXP und Excel2003) tritt das nicht auf!
danke
ede

AW: Umlaute umsetzen
13.09.2007 09:01:00
Wolli
Moin Ede, ich hatte gerade Lust zu basteln.
Die ASCII-Zeichencodes kannst Du mit der Funktion =Code(A1) [bzw. =Code(Teil(A1;5;1) für das 5. Zeichen im Text] ermitteln. Das hat allerdings für Dein komisches "ß" nicht geklappt, weiß der Goldbarsch warum.
Nimm mal diesen Code (Darin geht auch das "ß"). Ich gebe Dir im Direktbereich des VBA-Editors (Strg+G) immer alle Kombinationen mit, die ausgelesen werden, daran kannst Du die noch fehlenden zu ersetzenden Zeichen ablesen. Du musst die "Ersetzungstabelle" dann nur noch vervollständigen.
Gutes Gelingen wünscht Wolli

Sub Umlaute_ersetzen()
Dim z As Range, _
Wort As String, _
Zeichen As String, _
i As Long
For Each z In ActiveSheet.UsedRange
'alternativ: For Each z In Selection
If Not (IsNumeric(z.Value)) Then
Wort = ""
For i = 1 To Len(CStr(z))
Debug.Print Mid(z.Value, i, 1) + " = " + CStr(Asc(Mid(z.Value, i, 1)))
Select Case Asc(Mid(z.Value, i, 1))
Case 179
Wort = Wort + Chr(252)
Case 247
Wort = Wort + Chr(246)
Case 205
Wort = Wort + Chr(214)
Case 175
Wort = Wort + Chr(223)
'                    Case 247   'und so weiter
'                        Wort = Wort + Chr(246)
'                    Case 247
'                        Wort = Wort + Chr(246)
'                    Case 247
'                        Wort = Wort + Chr(246)
'                    Case 247
'                        Wort = Wort + Chr(246)
'                    Case 247
'                        Wort = Wort + Chr(246)
'                    Case 247
'                        Wort = Wort + Chr(246)
'                    Case 247
'                        Wort = Wort + Chr(246)
Case Else
Wort = Wort + Mid(z.Value, i, 1)
End Select
Next i
z.Value = Wort
End If
Next z
End Sub


Anzeige
AW: Umlaute umsetzen
13.09.2007 09:12:00
ede
hallo wolli,
super, scheint erstmal anhand der testdaten zu funktionieren.
danke
ede

AW: Umlaute umsetzen
13.09.2007 08:52:17
bst
Morgen auch,
sieht für mich so aus als ob Deine Ursprungsdatei ASCII war. Diese wurde fälschlicherweise 2 MAL hintereinander in ANSI gewandelt. Schau mal nach wo das passiert ist.
cu, Bernd

AW: Umlaute umsetzen
13.09.2007 09:14:00
ede
hallo bernd,
wenn deine vermutung stimmt, dann wird es ja nur auf dem einem pc 2* in ansi umgewandelt.
wo sollte man den da nachschauen. ich bekomme die datei und öffne sie mit excel. wandelt excel 2* um?
gruss

AW: Umlaute umsetzen
13.09.2007 10:00:54
bst
Hi,
nein, Excel wandelt von alleine nicht 2 Mal. Wie öffnest Du denn die Datei?
Wenn Du eine bereits in ANSI codierte Datei hast und sagst dass diese in ASCII sei wird halt nochmals ASCII-ANSI gewandelt und dann hast Du so ein Ergebnis.
Die zuvor korrekten "ÄÖÜäöüß" werden zu "-Í_õ÷³¯". Eine 'normale' Zurückwandlung ANSI-ASCII funktioniert nicht, da die vermutlich hierzu benutzten API-Funktionen OemToCharA und CharToOemA nicht für alle Zeichen 'umkehrbar' sind (Dieses ergäbe hier übrigens "-Ö_äöüî").
Ich würde es vorziehen (wenn meine Vermutung hier denn stimmen sollte) rauszufinden wo und warum die unnötige Wandlung durchgeführt wird, anstatt das via VBA wieder versuchen zurückzuwandeln.
cu, Bernd

Anzeige
AW: Umlaute umsetzen
13.09.2007 10:27:03
ede
hallo nochmal,
öffnen so:
wksBook="baro1.wks"
...
Workbooks.Open Filename:="C:\temp\" & wksBook
...
und dann kopiere ich den bereich einfach in ein excel-sheet.
wie bereits gesagt, an einem anderen pc geht es ohne probleme, nur an dem wo ich es in der regel machen möchte nicht!
gruss

AW: Umlaute umsetzen
13.09.2007 14:46:00
bst
Hi,
schicke mal so eine WKS-Datei her, dann schau ich mir das an.
cu, Bernd

AW: Umlaute umsetzen
13.09.2007 15:00:40
ede
erstmal danke für deine bemühungen
https://www.herber.de/bbs/user/46005.txt
wobei du die endung .txt entfernen musst.
gruss
ede

Anzeige
AW: Umlaute umsetzen
13.09.2007 15:02:29
ede
bzw. ".txt" in ".wks" umbennen must!

AW: Umlaute umsetzen
13.09.2007 15:08:00
bst
Hi,
bei mir hier geht das problemlos. Versuche es vielleicht mal mit:
Workbooks.Open Filename:="E:\temp\46005.wks", Origin:=xlWindows
Wenn das nicht geht habe ich keine weitere Idee :-(
cu, Bernd

AW: Umlaute umsetzen
13.09.2007 15:14:59
ede
hallo bernd,
deinen voeschlag habe ich schon getestet, bringt nichts, weder xlWindows noch xlMSDos!
wie gesagt, auf einem anderen pc habe ich auch nicht die probleme.
danke für deine bemühungen.
ede

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige