wie kann ich Hexadezimalcode in Excel in Normalschrift umwandeln? Bei einem Import von Adressbuechern werden bestimmte Einträge nicht in Normaltext dargestellt, sondern in Hexadezimalcode.
Vielen Dank für eine Antwort!
Gruß
Bernhard
wie kann ich Hexadezimalcode in Excel in Normalschrift umwandeln? Bei einem Import von Adressbuechern werden bestimmte Einträge nicht in Normaltext dargestellt, sondern in Hexadezimalcode.
Vielen Dank für eine Antwort!
Gruß
Bernhard
vielleicht hilft dies
http://www.excelformeln.de/formeln.html?gruppe=18
Gruß Hajo
vielen Dank für die schnelle Antwort - Ich habe die Formel kopiert - allerdings, wenn ich die Formel in das sheet eintrage,sehe ich nur die Formel, aber nicht das Ergebnis. Habe ich etwas übersehen?
Danke und Gruß
Bernhard
Du hast nicht zufällig unter Extra, Optionen, Register Ansicht, Formeln ausgewählt. Das sind keine Formel von mir sondern von WF, JensF und Andy. Zu den Formel selber kann ich keine Auskunft geben.
Gruß Hajo
nein - da ist alles ok. Ich habe die Funktion so wie sie in dem link stand in die Nachbarzelle eingefügt:
{=SUMME(16^(ZEILE(INDIREKT("a1:a"&LÄNGE(A1)))-1)*(VERGLEICH(LINKS(RECHTS(0&A1;ZEILE(INDIREKT("a1:a"&LÄNGE(A1))));1);{"0";"1";"2";"3";"4";"5";"6";"7";"8";"9";"A";"B";"C";"D";"E";"F"};0)-1))}
Es handelt sich hier um eine Matrix?
Gruß
Bernhard
jetz wo ich die Formel sehe ist es klar. Stand im Neitrag nichts davon die geschweiften Klammern nicht mit eingeben sondern strg+Umschalt+Enter.
Eigentlich steht dieser Hinweis auf der Seite immer bei Matrix Formeln.
Gruß Hajo
ok - der Fehler war auf meiner Seite gleich zweifach: einmal die eingabe einer Matrixformel mit ctrl-shift-enter und dann (peinlich) - ich habe eine englische excel Version - daher funktioniert die Formel zwar, aber das Ergebnis ist nicht das gewünschte:
der String: 4d616e6368657374657220496e7465726e6174696f6e616c0d0a4f66666963652043656e7472652c2053756974652035420d0a537479616c20526f6164
sollte eigentlich einen Straßennamen ergeben... und mit der MatrixFormel kommt 4 raus - seltsam...
Viele Grüße
Bernhard
die Formel wandelt Hexzahlen in Dezimalzahlen um. Aus Deinem String wird übrigens bei mir (Excel97, deutsch) 2,4156E+146.
Vielleicht ne blöde Frage, aber wie stellt man denn Buchstaben im Hexcode dar? Vielleicht ließe sich ja dann die Formel anpassen.
Gruß
Martin Beck
Function ascii(Zelle As Range)
Dim i%, h%, ch As String * 1
For i = 0 To Len(Zelle) / 2 - 1
ch = hex(Mid(Zelle, 1 + i * 2, 1))
h = IIf(ch < "A", ch, Asc(UCase(ch)) - 54) * 16
ch = Mid(Zelle, 2 + i * 2, 1)
h = h + IIf(ch < "A", ch, Asc(UCase(ch)) - 55) * 1
If h < 32 Then h = 32
ascii = ascii & Chr(h)
Next
End Function
Gruß HW
deine Funktion klappt wunderbar (zu schade, dass ich sie nicht verstehe ;-)).
Vielen Dank - das hilft mir sehr!
Und danke auch an Martin und Hajo für eure Hilfe
Schöne Grüße
Bernhard
das ist im Prinzip nix anderes als ihr schon diskutiert habt, nur wird der String in 2stellige Hexzahlen aufgeteilt und über chr() in ihr ASCII-Äquivalent gewandelt...
BTW: ich hab da einen Tippfehler es muss immer -55 statt -54 heißen!
Gruß HW
Function ascii(Zelle As Range)
Dim i%, h%, ch As String * 1
For i = 0 To Len(Zelle) / 2 - 1
ch = Mid(Zelle, 1 + i * 2, 1)
h = IIf(ch < "A", ch, Asc(UCase(ch)) - 55) * 16
ch = Mid(Zelle, 2 + i * 2, 1)
h = h + IIf(ch < "A", ch, Asc(UCase(ch)) - 55) * 1
If h < 32 Then h = 32
ascii = ascii & Chr(h)
Next
End Function
Gruß HW
thanx again - ich werde daran arbeiten - Viele Grüße
Bernhard
ich hab die ganze Zeit den Hex-Operator gesucht und bin nicht draufgekommen. Mach sich einfach schöner - Version 1.0
Gruß HW
Um Hexadezimalcode in Excel in ASCII umzuwandeln, kannst Du die folgende Matrixformel verwenden. Diese Methode ist besonders nützlich, wenn Du Daten wie Adressbücher importierst und diese in Normaltext darstellen möchtest.
=SUMME(16^(ZEILE(INDIREKT("a1:a"&LÄNGE(A1)))-1)*(VERGLEICH(LINKS(RECHTS(0&A1;ZEILE(INDIREKT("a1:a"&LÄNGE(A1))));1);{"0";"1";"2";"3";"4";"5";"6";"7";"8";"9";"A";"B";"C";"D";"E";"F"};0)-1))Strg + Umschalt + Enter, damit Excel die Formel als Matrixformel erkennt.Achte darauf, dass Du Excel in der deutschen Version verwendest, da die Funktionen je nach Sprache variieren können.
Strg + Umschalt + Enter eingegeben hast. Andernfalls wird sie als Text angezeigt.Neben der Matrixformel kannst Du auch VBA verwenden, um Hexadezimalcode in ASCII umzuwandeln. Hier ist ein einfaches Beispiel:
Function ascii(Zelle As Range)
Dim i%, h%, ch As String * 1
For i = 0 To Len(Zelle) / 2 - 1
ch = Mid(Zelle, 1 + i * 2, 1)
h = IIf(ch < "A", ch, Asc(UCase(ch)) - 55) * 16
ch = Mid(Zelle, 2 + i * 2, 1)
h = h + IIf(ch < "A", ch, Asc(UCase(ch)) - 55) * 1
If h < 32 Then h = 32
ascii = ascii & Chr(h)
Next
End Function
Diese Funktion kannst Du in ein Modul in Excel einfügen und dann wie eine normale Excel-Funktion verwenden.
Wenn Du beispielsweise den Hexadezimalcode 4D616E6368657374657220496E7465726E6174696F6E616C0D0A hast, sollte das Ergebnis "Manche Straßen" sein, wenn Du die oben genannten Methoden korrekt anwendest.
HEX2DEC, um Hexadezimalzahlen in Dezimalzahlen umzuwandeln, bevor Du sie in ASCII konvertierst.1. Wie wandle ich ASCII in Hexadezimal um?
Du kannst die Funktion DEC2HEX verwenden, um Dezimalzahlen in Hexadezimalzahlen umzuwandeln. Zuerst musst Du den ASCII-Code in Dezimal umwandeln.
2. Was ist der Unterschied zwischen Hexadezimal und ASCII?
Hexadezimal ist ein Zahlensystem mit Basis 16, während ASCII ein Zeichencode ist, der Zeichen in numerische Werte umwandelt. Hexadezimalwerte können ASCII-Zeichen darstellen, indem sie in den entsprechenden Code umgewandelt werden.