# "excel vba binary string to hexidecimal string" Code Answer's

You're definitely familiar with the best coding language VBA that developers use to develop their projects and they get all their queries like "excel vba binary string to hexidecimal string" answered properly. Developers are finding an appropriate answer about excel vba binary string to hexidecimal string related to the VBA coding language. By visiting this online portal developers get answers concerning VBA codes question like excel vba binary string to hexidecimal string. Enter your desired code related query in the search bar and get every piece of information about VBA code related question on excel vba binary string to hexidecimal string.

### excel vba binary string to hexidecimal string

By Excel Hero on Mar 02, 2021
``````'Fast VBA function to convert binary string to hexadecimal string...

Function BinToHex\$(bin\$, Optional groupBy& = 1)
Dim c&, i&, j&, hNdx&, nibble&, bits\$, s\$
Dim b() As Byte, h() As Byte
Static bHexChars() As Byte, pow2() As Byte

Const HEX_CHARS\$ = "0123456789ABCDEF"
If (Not Not bHexChars) = 0 Then bHexChars = StrConv(HEX_CHARS, vbFromUnicode)
If (Not Not pow2) = 0 Then pow2 = ChrW\$(&H201) & ChrW\$(&H804)

b = StrConv(bin, vbFromUnicode)
ReDim h(0 To -Int(-Len(bin) / 4) - 1)
hNdx = UBound(h)

For i = UBound(b) To 0 Step -1
If b(i) = 49& Then nibble = nibble + pow2(c)
c = c + 1
If c = 4 Then
h(hNdx) = bHexChars(nibble)
hNdx = hNdx - 1
nibble = 0
c = 0
End If
Next
If c Then h(hNdx) = bHexChars(nibble)
BinToHex = StrConv(h, vbUnicode)

If groupBy > 1 Then
i = Len(BinToHex) + 1
Do
i = i - groupBy
If i < 1 Then
s = " " & Mid\$(BinToHex, 1, i + groupBy - 1) & s
Exit Do
End If
s = " " & Mid\$(BinToHex, i, groupBy) & s
Loop While i
BinToHex = Trim\$(s)
End If
End Function

'-------------------------------------------------------------------------------

binaryStr = "11111100110101011110001101000110"

MsgBox BinToHex(binaryStr)      '<--displays: FCD5E346
MsgBox BinToHex(binaryStr, 4)   '<--displays: FCD5 E346
MsgBox BinToHex(binaryStr, 2)   '<--displays: FC D5 E3 46

'Note: this is an extremely fast and optimized function that can convert
'      an arbitrarily large binary string to hex.
'
'
'``````