Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: dezinhex funktion

dezinhex funktion
16.07.2003 15:11:38
James
hallo kurze frage,
ich möchte via makro die tabellenfunktion Dezinhex durchführen. Das problem ist das ich diese funktion normalerweise nicht funktioniert wenn das entsprechende addin nicht installiert ist. Gibt es eine möglichkeit dies über makro zu lösen. Hab keine ahnung wie ich das machen würde...
Vielen dank
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: dezinhex funktion
16.07.2003 15:25:29
Günther t
im prinzip kein problem - musst nur umrechnen:
dezimal ist so aufgebaut:
ps: 10(0) = 10 hoch 0
eine zahl zb: 234234 = 4*10(0) +3*10(1)+2*10(2)+3*10(3)
und bei hex is es ganz gleich nur das die Basis 16 ist = x*16(0) + y*16(1) und wenn du 10 hast dann schreibt man statt 10 = A hin bzw so weiter 11=B 12 =C etc....
also musst du nur noch umrechnen und du hast dein macro!
lg

Anzeige
AW: dezinhex funktion
16.07.2003 21:01:59
Sigi E.
Hallo James,
mit folgender VBA-Funktion ...

Function DEZinHEX(Zahl As Long) As String
Dim Flagg As Boolean
Dim Ausgabe As String
Dim Exp As Long
Dim Wert As Long
'nur für natürliche Zahlen kleiner 2.147.483.648 (2 hoch 31)
If Zahl <= 2147483647 And Zahl = Int(Zahl) Then
For Exp = 7 To 0 Step -1
If Zahl >= (16 ^ Exp) Then
Wert = Zahl \ (16 ^ Exp)
Select Case Wert
Case 15
Ausgabe = Ausgabe & "F"
Flagg = True
Case 14
Ausgabe = Ausgabe & "E"
Flagg = True
Case 13
Ausgabe = Ausgabe & "D"
Flagg = True
Case 12
Ausgabe = Ausgabe & "C"
Flagg = True
Case 11
Ausgabe = Ausgabe & "B"
Flagg = True
Case 10
Ausgabe = Ausgabe & "A"
Flagg = True
Case 1 To 9
Ausgabe = Ausgabe & CStr(Wert)
Flagg = True
Case 0
If Flagg = True Then
Ausgabe = Ausgabe & CStr(Wert)
End If
End Select
Zahl = Zahl - (Wert * (16 ^ Exp))
Else
If Flagg = True Then
Ausgabe = Ausgabe & "0"
End If
End If
Next Exp
If Zahl = 0 And Ausgabe = "" Then
Ausgabe = "0"
End If
Else
Ausgabe = "#WERT!"
End If
DEZinHEX = Ausgabe
End Function

Gruß
Sigi

Anzeige
SUPER!
18.07.2003 10:39:44
James
vielen vielen Dank :)

;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Dezinhex-Funktion in Excel nutzen


Schritt-für-Schritt-Anleitung

Um die Umrechnung von Dezimal in Hexadezimal in Excel durchzuführen, ohne das Add-In für die Funktion DEZINHEX zu verwenden, kannst Du die folgende VBA-Funktion nutzen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle "Einfügen" > "Modul", um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Function DEZinHEX(Zahl As Long) As String
        Dim Flagg As Boolean
        Dim Ausgabe As String
        Dim Exp As Long
        Dim Wert As Long
        'nur für natürliche Zahlen kleiner 2.147.483.648 (2 hoch 31)
        If Zahl <= 2147483647 And Zahl = Int(Zahl) Then
            For Exp = 7 To 0 Step -1
                If Zahl >= (16 ^ Exp) Then
                    Wert = Zahl \ (16 ^ Exp)
                    Select Case Wert
                        Case 15: Ausgabe = Ausgabe & "F"
                        Case 14: Ausgabe = Ausgabe & "E"
                        Case 13: Ausgabe = Ausgabe & "D"
                        Case 12: Ausgabe = Ausgabe & "C"
                        Case 11: Ausgabe = Ausgabe & "B"
                        Case 10: Ausgabe = Ausgabe & "A"
                        Case 1 To 9: Ausgabe = Ausgabe & CStr(Wert)
                        Case 0: If Flagg = True Then Ausgabe = Ausgabe & CStr(Wert)
                    End Select
                    Zahl = Zahl - (Wert * (16 ^ Exp))
                Else
                    If Flagg = True Then Ausgabe = Ausgabe & "0"
                End If
            Next Exp
            If Zahl = 0 And Ausgabe = "" Then Ausgabe = "0"
        Else
            Ausgabe = "#WERT!"
        End If
        DEZinHEX = Ausgabe
    End Function
  4. Schließe den VBA-Editor und kehre zurück zu Deinem Excel-Dokument.

  5. Nutze die Funktion, indem Du die Formel =DEZinHEX(A1) in eine Zelle eingibst, wobei A1 die Zelle mit der Dezimalzahl ist.


Häufige Fehler und Lösungen

  • Fehler: #WERT!

    • Dieser Fehler tritt auf, wenn die eingegebene Zahl nicht im zulässigen Bereich liegt (größer als 2.147.483.648 oder keine natürliche Zahl). Stelle sicher, dass die Zahl korrekt ist.
  • Fehler: Funktion gibt nicht die erwartete Hexadezimalzahl zurück

    • Überprüfe, ob Du die VBA-Funktion korrekt in ein Modul eingefügt hast. Achte darauf, dass Du die Funktion in einer Zelle mit der richtigen Syntax aufrufst.

Alternative Methoden

Wenn Du die Excel-Funktion DEZINHEX nicht nutzen kannst oder möchtest, kannst Du auch folgende Methoden ausprobieren:

  1. Online-Converter: Es gibt zahlreiche Online-Tools, die Dir die Umrechnung von Dezimal in Hexadezimal ermöglichen.
  2. Excel-Add-Ins: Suche nach Add-Ins, die zusätzliche Funktionen für die Umrechnung bereitstellen.
  3. Mathematische Umrechnung: Du kannst die Umrechnung manuell durchführen, indem Du die Zahl durch 16 teilst und die Reste aufzeichnest.

Praktische Beispiele

  1. Beispiel für die Verwendung in Excel:

    • Wenn Du in Zelle A1 die Zahl 255 hast, gib in Zelle B1 die Formel =DEZinHEX(A1) ein. Das Ergebnis sollte FF sein.
  2. Mehrere Werte umrechnen:

    • Du kannst die Funktion in einer gesamten Spalte anwenden. Z.B. =DEZinHEX(A1:A10) für eine Liste von Dezimalzahlen.

Tipps für Profis

  • Debugging in VBA: Wenn Du mit der VBA-Programmierung arbeitest, nutze die Debugging-Tools im Editor, um Fehler schnell zu identifizieren.
  • Optimierung der Funktion: Überlege, ob Du die Funktion optimieren kannst, um die Berechnungen für große Datenmengen zu beschleunigen.
  • Integration in größere Projekte: Wenn Du regelmäßig mit Hexadezimalzahlen arbeitest, integriere die Funktion in Deine anderen Excel-Projekte für einen leichteren Zugriff.

FAQ: Häufige Fragen

1. Kann ich die DEZinHEX-Funktion auch für negative Zahlen verwenden? Nein, die Funktion ist nur für natürliche Zahlen bis zu 2.147.483.648 ausgelegt.

2. Was ist der Unterschied zwischen Dezimal- und Hexadezimalsystem? Das Dezimalsystem basiert auf der Basis 10, während das Hexadezimalsystem auf der Basis 16 beruht, wobei die Ziffern 10-15 durch die Buchstaben A-F dargestellt werden.

3. Wo finde ich die DEZINHEX-Funktion in Excel? Die Funktion DEZINHEX ist in Excel verfügbar, sofern das entsprechende Add-In aktiv ist. Andernfalls kannst Du die oben beschriebenen VBA-Alternativen verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige