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

Printed on: April 18, 2024 at 15:04 o'clock

Member: BirdyB
BirdyB Sep 02, 2020 at 12:07:40 (UTC)
Goto Top
Moin,

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

VG
Member: n0cturne
n0cturne Sep 02, 2020 updated at 14:09:16 (UTC)
Goto Top
Hi,

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

Gruß
Member: n0cturne
n0cturne Sep 03, 2020 at 08:53:15 (UTC)
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 Sep 03, 2020 updated at 10:49:53 (UTC)
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
Member: n0cturne
n0cturne Sep 03, 2020 at 14:16:02 (UTC)
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 Sep 03, 2020 updated at 14:20:13 (UTC)
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.
Member: n0cturne
n0cturne Sep 03, 2020 at 17:41:20 (UTC)
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 Sep 04, 2020 updated at 07:15:33 (UTC)
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.