n0cturne
Goto Top

Umlaute per VBA in Excelzelle einfügen

Hallo zusammen,

ich möchte per VBA Texte in Zellen einfügen. Darunter befinden sich auch Umlaute.
Wenn eben diese eingefügt werden, werden sie nicht korrekt angezeigt.
Meine Tabelle ist UTF-8 kodiert und im xlsm-Format gespeichert.

So sieht eine der Funktionen aus:
Private Sub CommandButton21_Click()
Dim Lastrow As Integer
Dim rangeString As String

Lastrow = ActiveSheet.Columns(2).Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row  
rangeString = "K5:K" & Lastrow  

Call Entsperren

Range(rangeString).Value = "Bestätigt"  
Call Sperren
End Sub

In der ersten Zeile habe ich den Text manuell eingetragen,
in der zweiten Zeile wurde der Text per Makro eingetragen.

Google scheint hier kein guter Ratgeber zu sein.
Daher hoffe ich hier auf Unterstützung.

Beste Grüße
Benjamin
excel_umlaut

Content-Key: 601255

Url: https://administrator.de/contentid/601255

Ausgedruckt am: 28.03.2024 um 16:03 Uhr

Mitglied: BirdyB
BirdyB 02.09.2020 um 14:07:40 Uhr
Goto Top
Moin,

probier es mal mit:
Range(rangeString).Value=StrConv("Bestätigt", vbUnicode)  

VG
Mitglied: n0cturne
n0cturne 02.09.2020 aktualisiert um 16:09:16 Uhr
Goto Top
Hi,

in diesem Fall wird nur ein "B" eingetragen. Höchst merkwürdig.

Gruß
Mitglied: n0cturne
n0cturne 03.09.2020 um 10:53:15 Uhr
Goto Top
Moin,

selbst mit dem Keycode wird das "ä" immer noch falsch dargestellt.

Range(rangeString).Value = "Best" & Chr(228) & "tigt"  

Hat hier jemand noch eine Idee?
Mitglied: 145916
145916 03.09.2020 aktualisiert um 12:49:53 Uhr
Goto Top
Moin.
Gebietsschema richtig einstellen, der VBE benutzt per Default ANSI Codepage wenn die Region für Non-Unicode Progs auf Deutschland eingestellt ist.
https://www.spreadsheet1.com/how-to-display-foreign-characters-in-vbe.ht ...
Meine Tabelle ist UTF-8 kodiert
Wo bitte hast du das eingestellt?

Ansonsten hat deine Mappe eher ne Macke, funktioniert hier nämlich problemlos. Evt im Kompatibilitätsmodus gespeichert. Welche Excel Version wird benutzt? Welche Updates? Dann nochmal alle Inhalte manuell in einen neue Mappe kopieren und abspeichern.

Gruß eagle
Mitglied: n0cturne
n0cturne 03.09.2020 um 16:16:02 Uhr
Goto Top
Zitate von @145916:

Gebietsschema richtig einstellen, der VBE benutzt per Default ANSI Codepage wenn die Region für Non-Unicode Progs auf Deutschland eingestellt ist.
Ist richtig eingestellt.

Hat leider auch nicht geholfen.

Meine Tabelle ist UTF-8 kodiert
Wo bitte hast du das eingestellt?
Das kann man beim "Speichern unter"-Dialog, unter Tools>Weboptionen>Codierung einstellen.

Ansonsten hat deine Mappe eher ne Macke, funktioniert hier nämlich problemlos. Evt im Kompatibilitätsmodus gespeichert. Welche Excel Version wird benutzt? Welche Updates? Dann nochmal alle Inhalte manuell in einen neue Mappe kopieren und abspeichern.
Ich nutze Office 365 Version 1908 (Build 1192.20934).


Ich habe nun eine Lösung gefunden - aber die ist echt hässlich. xD
Range(rangeString).Value = "Best" & "ä" & "tigt"  

http://www.vba-wiki.net/index.php?title=Zeichentabelle
Mitglied: 145916
145916 03.09.2020 aktualisiert um 16:20:13 Uhr
Goto Top
Zitat von @n0cturne:
Meine Tabelle ist UTF-8 kodiert
Wo bitte hast du das eingestellt?
Das kann man beim "Speichern unter"-Dialog, unter Tools>Weboptionen>Codierung einstellen.
Die Einstellung gilt nur für die Ausgabe als HTML.
Mitglied: n0cturne
n0cturne 03.09.2020 um 19:41:20 Uhr
Goto Top
Okay, das macht Sinn. :D Ich habe wohl zu lange gegoogelt. ;)
Hast Du ne Idee, warum meine oben beschriebe Lösung funktioniert?
Mitglied: 145916
145916 04.09.2020 aktualisiert um 09:15:33 Uhr
Goto Top
Zitat von @n0cturne:

Okay, das macht Sinn. :D Ich habe wohl zu lange gegoogelt. ;)
Hast Du ne Idee, warum meine oben beschriebe Lösung funktioniert?
Wohl ein Bug deiner Office-Version, deiner Mappe selbst oder deiner OS Einstellung, kann ich hier mit keiner aktuellen Office Version nachstellen. Wenn du den String so schreiben musst stimmt die Kodierung des VBE nicht mit der Mappe überein, da hat wohl einer das VBA Projekt von außerhalb manipuliert.
Nimm mal ein neues Userprofil.