Microsoft Excel

Herbers Excel/VBA-Archiv

Unicodes in VBA ersetzen

Betrifft: Unicodes in VBA ersetzen von: Sophie
Geschrieben am: 06.10.2020 12:07:45

Hallo zusammen,

ich hoffe Ihr könnt mir mit meinem Problem weiterhelfen, da ich sonst im Internet keine Lösung gefunden habe.
Folgendes Problem:
In meiner Excel Tabelle befinden sich Unicodes, wie zum Beispiel 🅕 (U+1F155), dies würde ich gerne durch (F) ersetzten. Händisch oder mit suchen und ersetzten ist es sehr aufwändig. Deshalb würde ich das Problem gerne mit VBA lösen, allerdings habe ich es alleine nicht hinbekommen.
Anbei mein Versuch das Problem zu lösen.
Dim VariableF As Variant
VariableF = ChrW(D83CDD55)

With ActiveSheet.UsedRange
.Replace VariableF, (F)
End With

Vorab vielen Dank!
Viele Grüße
Sophie

Betrifft: AW: Unicodes in VBA ersetzen
von: Daniel
Geschrieben am: 06.10.2020 13:17:13

Hi
mach ne Hilfstabelle und kopiere dort nach Spalte A die störenden UniCode-Zeichen oder Zeichenfolgen und schreibe in die Spalte B daneben das neue Zeichen.
dann liest du für die für das Ersetzen erforderlichen Zeichen(folgen) aus dieser Hilfstabelle aus.
ActiveSheet.Usedrange.Replace Sheets("Hilfstabelle").Cells(1, 1), Sheets("Hilfstabelle").Cells(1, 2), lookat:=xlpart

hat folgende Vorteile:
1. du musst dich nicht mit den ZahlenCodes der Zeichen abmühen
2. du kannst auch Kombinationen aus 2 oder mehr Zeichen verarbeiten
3. das ChrW beherrscht nicht alle UnicodeZeichen, die Excel darstellen kann
4. bei entsprechender Programmierung musst du, wenn neue Unicodezeichen hinzukommen, nicht in den VBA-Code eingreifen sondern erweiterst einfach die Liste (das können dann auch ggf Kollegen machen die mit diesem Makro arbeiten, ohne es programmieren zu können)

Gruß Daniel

Betrifft: AW: Unicodes in VBA ersetzen
von: Sophie
Geschrieben am: 06.10.2020 14:45:22

Danke Daniel für die Antwort!
Die Idee funktioniert super, allerdings müsste ich in die Hilfstabelle manuell die Unicodes einfügen. Was an sich kein Problem wäre, wenn das Add-in nicht täglich von mehreren benutzt werden würde.
Deshalb war die Idee, dass die unicodes automatisch geändert werden via VBA.
Hättest du vielleicht eine Idee, wie ich das realisieren könnte, da es ja mit chrw nicht funktioniert...

Viele Grüße
Sophie

Betrifft: AW: Unicodes in VBA ersetzen
von: Daniel
Geschrieben am: 06.10.2020 18:38:27

Hi
mit AddInns kenne ich mich nicht aus, sorry.
aber kann man nicht auch in ein AddIn eine Tabelle einfügen?
ein AddIn ist doch auch nur eine Exceldatei mit Tabellenblättern usw.

Gruß Daniel

Betrifft: AW: Unicodes in VBA ersetzen
von: Sophie
Geschrieben am: 07.10.2020 07:38:38

Hi,

Ja genau, da sollte es eigentlich kein unterschied geben.
Kann mir vielleicht trotzdem jemand helfen, das Problem mit den Unicodes mit VBA zu lösen?

Viele Grüße
Sophie

Betrifft: AW: Unicodes in VBA ersetzen
von: Yal
Geschrieben am: 07.10.2020 09:30:59

Trenne die Daten ("Model") vom Bearbeitung ("Controller"), also lege die Umkodierungstabelle in einer Datei (csv reicht) auf einem zentral zugänglich Netzlaufwerk, worauf das Addin (lokal ausgeführt) nur lesend zugreift.

https://de.wikipedia.org/wiki/Model_View_Controller

Viel Erfolg
Yal

Betrifft: AW: Unicodes in VBA ersetzen
von: ralf_b
Geschrieben am: 07.10.2020 13:07:35

wenn du die Lösung hast, gibst du sie an Lea aus dem Vba forum weiter? ;)