Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1848to1852
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
Inhaltsverzeichnis

Umlaute im VBA-Code zerstört

Umlaute im VBA-Code zerstört
06.10.2021 10:11:21
Günther
Hallo,
bei Kunden von mir passiert es manchmal, dass in Dateien mit VBA-Code sämtliche Umlaute darin in irgendwelche Sonderzeichen umgewandelt werden.
Z.B. lautet ein MsgBox-Text dann nicht mehr "Wollen Sie die Datei öffnen?", sondern "Wollen Sie die Datei Ɏffnen?" (oder irgendwie in dieser Art).
Vermutlich passiert das, wenn die Datei auf einem Rechner geöffnet wird, der mit den Umlauten ein Problem hat.
Meine Frage in die Expertenrunde lautet:
Was ist die genaue Ursache für diesen Effekt?
Wie kann man sich dagegen absichern?
Hilft es ev. die Datei im xlsb-Format zu speichern, anstatt im xlsm-Format?
Danke für Eure Hilfe!
Grüße
Günther

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Umlaute im VBA-Code zerstört
06.10.2021 10:31:05
oraculix
Hast du die Tabelle in Text Format Formatiert?
Oder unnötige Leerzeichen gelöscht?
'Leerzeichen nach letzten Buchstaben löschen
Dim loLetzte As Long, varArray As Variant, i As Long
With Worksheets("Tabelle1") 'Tabellennamen hier Anpassen
loLetzte = .Cells(.Rows.Count, "A").End(xlUp).Row 'Spalte hier Anpassen
varArray = WorksheetFunction.Transpose(.Range("A1:A" & loLetzte))
For i = LBound(varArray) To UBound(varArray)
varArray(i) = RTrim(varArray(i))
Next i
.Range(.Cells(1, "A"), .Cells(loLetzte, "A")) = WorksheetFunction.Transpose(varArray)
End With
Gruß
Oraculix
Anzeige
AW: Umlaute im VBA-Code zerstört
06.10.2021 12:01:40
EtoPHG
Hallo,
Ich vermute die genannten Kunden arbeiten mit einem griechischen Zeichensatz.
Die Antwort von oraculix einfach vergessen. Sein Geschreibsel hat absolut nix mit deinem Problem zu tun.
Gruess Hansueli
AW: Umlaute im VBA-Code zerstört
07.10.2021 08:58:24
Günther
Danke Hansueli für deine Rückmeldung.
Bei einem seinerzeitigen identen Fall (Kunde aus dem Versicherungswesen mit Filialen in Osteuropa) könnte es durchaus der Fall gewesen sein, dass auf diesem PC in irgendwo (Bulgarien, Ukraine ...) ein griechischer Zeichensatz mit im Spiel war. Beim aktuellen Anlass (Restaurantbetrieb in Graz) glaube ich das eher nicht. Ich werde aber beim Kunden diesbezüglich nachfragen. Wenn ich mich recht erinnere, hat dort irgendein Mitarbeiter ein Apple-Gerät in Betrieb. Vielleicht liegt es daran.
Was aber zur eigentlich wichtigsten Frage führt: Kann man das irgendwie verhindern?
Es erscheint mir schon sehr unbefriedigend, wenn es möglich ist, den VBA-Code einer fertig programmierten Datei dadurch zu "zerstören", dass man die Datei einfach auf einem "ungeeigneten" Rechner aufmacht und wieder abspeichert - insbesonderen ohne je in den VBA-Editor einzusteigen?
Grüße
Günther
Anzeige
AW: Umlaute im VBA-Code zerstört
08.10.2021 12:49:34
Piet
Hallo
das Thema ist mir auch bekannt, arbeite öfters auf türkischen Rechnern. Die haben auch Sonderzeichen beim Buchstaben C, S, I mit Punkt darüber.
Das abfangen ist schwierig. In dem Fall kann man versuchen solche Zeichen im Code statt Text als Chr(xxx) Zahlencode anzugeben. Zahl 65 = A, usw.
Den Textstring muss man dafür ggf. splitten. Bleibt die Frage ob die MsgBox es dann korrekt anzeigen kann? Schwieriges Thema wenn es daran liegt!
mfg Piet
AW: Umlaute im VBA-Code zerstört
08.10.2021 12:54:43
Piet
Nachtrag: könnt ihr die Umlaute ggf. als "ae", "oe" oder "ue" angeben? Dann wäre das Prolem vielleicht gelöst.
mfg Piet
Anzeige
AW: Umlaute im VBA-Code zerstört
09.10.2021 15:43:48
Günther
Danke Piet für deine Rückmeldung - schön zu hören, dass andere das Problem auch haben.
Es mehren sich die Hinweise, dass auch das Öffnen der Datei auf einem Apple-Gerät die Umlaute im VBA-Code zerstören kann.
Der Workaround, der mir am naheliegendsten erscheint, ist es, alle notwendigen Texte mit Umlauten auf einem (ausgeblendeten) Tabellenblatt zu hinterlegen und dann auf diese zuzugreifen. Das können MsgBox-Texte sein, aber auch Dateipfade, die das Makro verwenden muss und deren vorgegebene Ordnernamen Umlaute enthalten etc.
Texte, die in einem Tabellenblatt gespeichert sind, sind soweit ich das mitbekommen habe, von der Problematik nicht betroffen.
Entspricht das auch deiner Erfahrung?
Grüße
Günther
Anzeige
AW: Umlaute im VBA-Code zerstört
09.10.2021 18:44:01
Piet
Hallo
Ja bedingt, eine Zeitlang hatte ich da auch Probleme, bis ich eine Datei öffnete mit einer Arial TUR Tabellen Schrifteinstellung für die Türkei.
Wenn ich diese Blätter verwendete war das Tabellen Problem gelöst. Im Makro Code konnte ich aber die Zeichen nicht einsetzen, es sei denn der Laptop war in der Landessprache auf Türkisch gesetzt und mit einem Türkischen Betriebssystem programmiert.
Eine schöne Besonderheit gibt es bei ä, ö, ü Umlauten von MP3 und Videos von Youtube. Lade mal Körpersprache von Stefan Verra herunter. Optisch sieht man Umlaufe. Listet man den Ordner mit einem Dir$ oder FSO Programm auf kommen Fehlermeldungen "Kann Dateiname nicht lesen"! Schon mal aufgefallen?
Der amüsante Witz, dort bestehen die Umlaute aus 2 Zeichen, was du erst merkst wenn du das "ö" usw. von Hand schrittweise löschst. Dann verschwinden die Pünktchen und es bleibt ein a, o, u zurück! Die Pünktchen werden als Sonderzeichen drübergeschoben! Optisch ist der Unterschied NICHT zu erkennen!
Den Fehler im vorher einwandfrei funktionierenden Auflisten Makro zu finden bereitete mir einige schlaflose Nächte! Ebenso meckert Excel wenn ich mal von Freunden Beispieldateien mit türkischen Sonderzeichen gesendet bekomme. Die kann mein Ordner Auflisten Programm auch nicht ab. Ich schreibe sie um!
mfg Piet
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge