Convert text to binary in Excel using VBA code example

Example 1: excel vba string to binary

'VBA function to convert text to a binary string representation:

Public Function TextToBinaryString$(s$)
    Dim c&, i&, lo&, bin$(0 To 255), d() As Byte
    Const ZEROS$ = "00000000"
    For c = 0 To 255
        bin(c) = ZEROS
        If c And 1& Then MidB$(bin(c), 15) = "1"
        If c And 2& Then MidB$(bin(c), 13) = "1"
        If c And 4& Then MidB$(bin(c), 11) = "1"
        If c And 8& Then MidB$(bin(c), 9) = "1"
        If c And 16& Then MidB$(bin(c), 7) = "1"
        If c And 32& Then MidB$(bin(c), 5) = "1"
        If c And 64& Then MidB$(bin(c), 3) = "1"
        If c And 128& Then MidB$(bin(c), 1) = "1"
    Next
    d = s
    lo = 1
    TextToBinaryString = Space$(LenB(s) * 8)
    For i = 0 To LenB(s) - 1 Step 2
        Mid$(TextToBinaryString, lo) = bin(d(i + 1))
        Mid$(TextToBinaryString, lo + 8) = bin(d(i))
        lo = lo + 16
    Next
End Function
            
'------------------------------------------------------------------------------
            
MsgBox TextToBinaryString("Hi")  '<--displays: 00000000010010000000000001101001

Example 2: excel vba convert number to binary string

'VBA function to convert number to binary string:

Function DecToBin$(ByVal n&)
    Do
        DecToBin = n Mod 2 & DecToBin
        n = n \ 2
    Loop While n
End Function

'-------------------------------------------------------------------  
'NB: Excel has the built-in worksheet function, DEC2BIN(), but it
'can only handle 10-bit numbers or less. The above function can
'convert all positive 32-bit numbers: 
  
MsgBox DecToBin(9512489)    '<--displays: 100100010010011000101001

Tags:

Vb Example