Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Sonderzeichen aus Zelle einlesen

Forumthread: Sonderzeichen aus Zelle einlesen

Sonderzeichen aus Zelle einlesen
11.11.2024 17:04:04
Robert
Hallo,
ich lese Text aus Zellen aus. Manche Zellen enthalten Symbole, wie das Δ

sowohl bei cells().value als auch bei cells().value2 wird das Symbol gegen ein ? ausgetauscht.

Kennt jemand eine Lösung, sodass der Wert mit dem richtigen Symbol ausgelesen wird und auch wieder zB in einen Knoten eines Trees geschrieben werden kann?

Danke!
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sonderzeichen aus Zelle einlesen
11.11.2024 17:14:11
Onur
"in einen Knoten eines Trees " ?
AW: Sonderzeichen aus Zelle einlesen
11.11.2024 17:21:28
Yal
Hallo Robert,

die Eigenschaften von Texten innerhalb einer Zelle werden mit Zelle.Characters(..) gelesen/gesetzt. Z.B. wenn ein Teil des Textes eine anderen Farbe hat.
Der Code wird mit Asc, aber aus der Zeichenkette (Zelle.Value oder Zelle.Text ) gelesen.

Folgende Code zum Probieren:
Sub EinzelzeichenInfo(Z As Range)

Dim i As Long
For i = 1 To Len(Z.Value)
Debug.Print Z.Characters(Start:=i, Length:=1).Font.Name
Debug.Print Asc(Mid(Z.Value, i, 1))
Next
End Sub

Sub test()
EinzelzeichenInfo Worksheets(1).Range("B7")
End Sub


VG
Yal
Anzeige
AW: Sonderzeichen aus Zelle einlesen
11.11.2024 18:00:47
daniel
Hi
das Zeichen ist kein einfaches ASCII-Zeichen aus dem 8-bit-ASCII-Zeichensatz, sondern ein Unicode-Zeichen aus dem 16-bit-Unicodezeichensatz.
Excel kann prinzipiell mit diesen Zeichen umgehen, der VBA-Editor kann aber nur die Zeichen aus dem einfachen 8-bit-Zeichensatz anzeigen und verwendet bei Unicodezeichen das "?" als Ersatz.
um in VBA solche Zeichen auszuwerten oder einzugeben muss man die Funktionen AscW(Zeichen) bzw ChrW(codenummer) oder Worksheetfunction.Unicode(Zeichen) bzw Worksheetfunction.Unichar(Codenummer) verwenden.

was willst du denn konkret machen?
wie sieht dein bisheriger Code aus?
(mit welchem Befehl liest du das Zeichen aus der Zelle aus, und mit welchem Befehl fügst du es ein?)

Gruß Daniel
Anzeige
AW: Sonderzeichen aus Zelle einlesen
11.11.2024 18:36:28
Robert
Hallo Daniel,
vielen Dank für die Antwort.
Ich möchte den Wert, der diese UNICODE-Zeichen enthält aus Zeilen auslesen und in den Text eines Knotens schreiben.

Wenn ich nichts mache, wird das Deltazeichen UNICODE 916 als Fragezeichen dargestellt. In weiterer Folge dragge ich einen Knoten und droppe ihn auf ein Textfeld.

Da wäre es natürlich fein, wenn der Text in der richtigen Darstellung vorliegt

der code sieht in etwa so aus

for I=1 to 100
wert= thisworkbook.activesheet.cells(i,1)
Tree.add Key:=i,item:=wert

next i
Anzeige
AW: Sonderzeichen aus Zelle einlesen
11.11.2024 19:29:04
Daniel
da müsstests du mal prüfen, ob dein Tree-Objekt mit Unicodezeichen umgehen kann oder ob der nur den einfachen Zeichensatz beherrscht.
AW: Sonderzeichen aus Zelle einlesen
12.11.2024 13:42:20
Robert
ja, das Treeobject kann nicht mit UNICODE umgehen.

Ich benötige daher einen Workaround:

Ich habe den Knotentext mit UNICODE in einem Datenobjekt gespeichert, der zum Zeitpunkt des Dragevents bereit steht.

CellMeasureObject beinhaltet den unicodetext, mit CellMeasureObject.gettext kann ich diesen holen.

jedoch liegt bei den Events ein anderes Objekt vor, zB

Private Sub Tree_OLESetData(Data As MSComctlLib.DataObject, DataFormat As Integer)



End Sub

wie weise ich dem Datenobject Data jetzt den Wert aus CellMeasureObject zu?

Data.SetData CellMeasureObject.GetText funktioniert nicht

Anzeige
AW: Sonderzeichen aus Zelle einlesen
12.11.2024 14:09:54
daniel
ich kenn mich mit diesen Objekten nicht aus.
Hmm...
11.11.2024 17:24:00
Yal
Das Thema "Tree" übersehen.

Ich bin nicht ganz sicher, dass man die Schriftarten einer Kontenbezeichnung so ummodellieren kann.

VG
Yal
AW: Sonderzeichen aus Zelle einlesen
11.11.2024 17:43:36
Robert
So, ich habe das mal laufen lassen, nur mit dem delta als text.
Ergebnis:
Arial
63
was mache ich nun damit?
Danke
LG
Robert
Anzeige
AW: Sonderzeichen aus Zelle einlesen
11.11.2024 17:18:04
Robert
ja, in den Knoten (dem Text)
tree.add key:=bla, item:=der Text mit dem Sonderzeichen

Zuerst einmal muss aber das Sonderzeichen korrekt in eine Variable, denk ich.
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18