ich versuche HEX Werte in dezimale Stellen umzuwandeln, die HEX Werte sind allerdings 14 Stellen lang.
Da ich keinerlei Erfahrung in VBA habe würde ich mich über etwas Hilfe hier freuen.
Beste Grüße
Conrad
A | B | |
2 | 80335AF2586204 | 36085262724915716 |
3 | 80335AF2585F04 | 36085262724914948 |
Zelle | Formel |
B2 | =HexInDec(A2) |
B3 | =HexInDec(A3) |
Öffne das VBA-Editor-Fenster in Excel, indem Du ALT + F11
drückst.
Füge ein neues Modul hinzu:
Füge den folgenden VBA-Code ein, um eine Funktion zur Umrechnung von Hexadezimal in Dezimal zu erstellen:
Option Explicit
Public Function HexInDec(ByVal pvstrHex As String) As String
Dim strSign As String
Dim lngIndex As Long
Dim decValue As Variant
decValue = CDec(decValue)
For lngIndex = 1 To Len(pvstrHex)
strSign = Mid$(pvstrHex, lngIndex, 1)
Select Case strSign
Case 0 To 9
decValue = decValue * 16 + CDbl(strSign)
Case "A"
decValue = decValue * 16 + 10
Case "B"
decValue = decValue * 16 + 11
Case "C"
decValue = decValue * 16 + 12
Case "D"
decValue = decValue * 16 + 13
Case "E"
decValue = decValue * 16 + 14
Case "F"
decValue = decValue * 16 + 15
End Select
Next
HexInDec = CStr(decValue)
End Function
Speichere die Datei als „Excel-Arbeitsmappe mit Makros“ (Dateiendung .xlsm).
Verwende die Funktion in Deinem Arbeitsblatt:
=HexInDec(A1)
und ersetze „A1“ durch die Zelle, die Deinen Hex-Wert enthält.Problem: Die Umrechnung zeigt 1,77789E+14
.
Problem: Die Funktion funktioniert nicht.
Windows-Rechner: Du kannst auch den Windows-Rechner verwenden, um Hex zu Dezimal umzurechnen. Gehe zu den „Programmen“ und wähle „Rechner“, dann wechsle in den wissenschaftlichen Modus.
Python oder PowerShell: Wenn Du mit Programmierung vertraut bist, kannst Du ähnliche Umrechnungen in Python oder PowerShell durchführen, die flexibler mit größeren Zahlen umgehen können.
Beispiel 1: Umwandlung von A1B2C3
in Dezimal:
A1B2C3
=HexInDec(A1)
→ Ergebnis: 10512543
Beispiel 2: Umwandlung von 80335AF2586204
in Dezimal:
80335AF2586204
=HexInDec(A2)
→ Ergebnis: 36085262724915716
DECIMAL()
für kleine Hex-Werte, aber sei vorsichtig bei großen Werten, die über die Genauigkeit von Excel hinausgehen.1. Wie kann ich die Funktion anpassen, um auch negative Hex-Werte zu unterstützen? Um negative Werte zu unterstützen, kannst Du vor der Umrechnung prüfen, ob der Hex-Wert mit einem Minuszeichen beginnt. Wenn ja, wandle ihn in einen positiven Wert um und füge beim Ergebnis das Minuszeichen hinzu.
2. Warum gibt Excel bei großen Zahlen nur wissenschaftliche Notation aus? Excel hat eine maximale Genauigkeit von 15 Dezimalstellen. Bei größeren Zahlen wird die Darstellung auf wissenschaftliche Notation umgeschaltet, was zu Verlusten führen kann. Verwende die Funktion in VBA, um diese Probleme zu umgehen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen