从Hexa转换为Binary Excel VBA的代码很多 [英] Code to convert from Hexa to Binary Excel VBA a large number
本文介绍了从Hexa转换为Binary Excel VBA的代码很多的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将6E29210100(六)转换为二进制.使用较小的十六进制数,代码可以正常工作.我不知道为什么.我希望它至少可以处理10个字符.
Dim HexNum作为字符串Dim BinNum作为字符串尽可能长的Dim lHexNum昏暗的整数公开子Teste()HexNum ="6E29210100"HexToBin(十六进制)MsgBox"Bin:"&十六进制BinNum = vbNullString结束子公共函数HexToBin(可选的HexNum作为字符串)作为字符串在错误转到To ErrorHandler我= 0lHexNum = Val(& h"& HexNum)做如果lHexNum和2 ^ i然后BinNum ="1"&BinNum别的BinNum ="0"&BinNum万一我=我+ 1循环直到2 ^ i>十六进制数HexToBin = BinNumErrorHandler:结束功能
代码返回:00101001001000010000000100000000
正确答案:0110111000101001001000010000000100000000
解决方案
I'm trying to convert 6E29210100 (hexa) to binary. With smaller hexa numbers, the code works fine. and I don't know why. I would like it was working to 10 characters at least.
Dim HexNum As String
Dim BinNum As String
Dim lHexNum As Long
Dim i As Integer
Public Sub Teste()
HexNum = "6E29210100"
HexToBin (HexNum)
MsgBox "Bin: " & HexToBin
BinNum = vbNullString
End Sub
Public Function HexToBin(Optional HexNum As String) As String
On Error GoTo ErrorHandler
i = 0
lHexNum = Val("&h" & HexNum)
Do
If lHexNum And 2 ^ i Then
BinNum = "1" & BinNum
Else
BinNum = "0" & BinNum
End If
i = i + 1
Loop Until 2 ^ i > lHexNum
HexToBin = BinNum
ErrorHandler:
End Function
Code returns: 00101001001000010000000100000000
Right answer: 0110111000101001001000010000000100000000
解决方案
Function from HERE
Included only to help with the call of the function which OP had issues.
Public Sub Test()
Dim HexNum As String
HexNum = "6E29210100"
Dim BinNum As String
BinNum = HEXtoBIN(HexNum)
MsgBox BinNum
End Sub
Public Function HEXtoBIN(ByVal strHex As String) As String
Dim c As Long, i As Long, b As String * 4, j As Long
For c = 1 To Len(strHex)
b = "0000"
j = 0
i = Val("&H" & Mid$(strHex, c, 1))
While i > 0
Mid$(b, 4 - j, 1) = i Mod 2
i = i \ 2
j = j + 1
Wend
HEXtoBIN = HEXtoBIN & b
Next
HEXtoBIN = RTrim$(HEXtoBIN)
End Function
这篇关于从Hexa转换为Binary Excel VBA的代码很多的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文