VBA Programmieren.....

klaus

assimiliert
Ich hab bis morgen eine Hausaufgabe ein VBA Programm zu schreiben mit dem man Dezimalzahlen in Binärzahlen umwandeln kann und da ich davon keine ahnung hab könnt ihr mir mal helfen wie ich sowas mache???

Ich weis nicht obs da unterschiede gibt wir machen das in WORD in diesem VBA editor oder wie das heist

Bitte Helft mir...............:)
 
Hmm, müsste eigentlich recht einfach gehen, da es (zumindest in VB) den Befehl "Bin$" gibt, der genau das tut.
Als Parameter die Dezimalzahl angeben und zurückgleiefert bekommst du die Duale Zahl als String:

Dim dual as String
dual = Bin$(5)
 
weis das nieman???

#edit habs mit der funktion nicht hinbekommen....

das muss man doch sicherlich mit solchen schleifen machen oder?
 
Zuletzt bearbeitet:
Code:
Sub test()
Debug.Print GetBits(12)
End Sub

Private Function GetBits(Bt As Double, Optional NoNull As Boolean _
                         = False, Optional ByVal Bits = 8, _
                         Optional BSplit = 8) As String
                         
  Dim x%, y&, aa$, bb$, First As Boolean, Cnt As Byte
    
    If Bt < 2 ^ 31 Then
      y = CLng(Bt)
      Bits = Bits - 1
      For x = Bits To 0 Step -1
        If y And 2 ^ x Then
          aa = aa & "1"
          First = True
        Else
          If Not NoNull Or First Then
          aa = aa & "0"
          End If
        End If
      Next x
      
      If Len(aa) > 1 And Len(aa) > BSplit Then
        For x = Len(aa) To 1 Step -1
          bb = Mid$(aa, x, 1) & bb
          If (Len(aa) - (x - 1)) Mod BSplit = 0 Then bb = "-" & bb
        Next x
        If Left$(bb, 1) = "-" Then bb = Mid$(bb, 2)
        aa = bb
      End If
    Else
      aa = "Überlauf"
    End If
    
    GetBits = aa
End Function
 
Oben