永发信息网

如何用将VBA将单元格中的16进制转换为10进制?

答案:2  悬赏:20  手机版
解决时间 2021-01-24 13:19
如何用将VBA将单元格中的16进制转换为10进制?
最佳答案
Sub 十六进制转换十进制()
On Error Resume Next
Dim i As Integer
For i = 1 To [a65535].End(3).Row()
Cells(i, 1) = Application.WorksheetFunction.Hex2Dec(Cells(i, 1))
Next
End Sub
刚学VBA。不怎么会。对于像0X0这种不是十六进制的没进行处理(不会加个判断是否为16进制,见怪~~!)。只是把16进制的转换成了10进制。代码放在模块。
Sub 十六进制转换十进制()
On Error Resume Next
Dim i As Integer
For i = 1 To [a65535].End(3).Row()
If Len(Cells(i, 1)) <> 0 And Not (Cells(i, 1) Like "*[!0-9A-Fa-f]*") Then
Cells(i, 1) = Application.WorksheetFunction.Hex2Dec(Cells(i, 1))
Else
Cells(i, 1).Clear
End If
Next
End Sub
现在加入了判断,不是16进制的做清空相应单元格处理。
全部回答
Public Function HOD(sH As String)
    On Error GoTo Err_Zone
    Dim iCount As Integer, Dec As Single, e As Integer
    Dim sHH As String
    iCount = Len(sH)
    Dec = 0
    e = 0
    For k = iCount To 1 Step -1
        iD = HODS(Mid(sH, k, 1))
        If iD = 16 Then HOD = "#VALUE!": Exit Function
        iD = iD * Application.WorksheetFunction.Power(16, e)
        HOD = iD + HOD
        e = e + 1
    Next
    Exit Function
Err_Zone:
    MsgBox "数据无效!"
End Function
自定义函数追问
这一列单元格在wb文件的F列,程序中a是最大行数。我这样把程序嵌套进去,总提示expected end sub 
追答! 天啊 还带你这么玩的啊
这是单独的一个子程序, 你分开放 在你的程序里面调用就可以了啊
调用不会吗
CELLS(i,1)=hod(cells(i,1))追问可是我的最终目的是一键调用,将目标文件调入,目标文件中的16进制一列自动转换为10进制,然后复制到当前工作表的某一列。由于调入文件较多,所以调用的程序尽可能嵌套在一起。不知能否有别的方法。不过还是非常感谢你的追答把我的程序 放在你的 程序的后面 END SUB 之后
在 SH=MId(...........) 之后
加一个调用函数转换 16进制
wb.sheets(1).cells(j,6)= hod(sh)
另外用系统自带的转换函数也是可以的
wb.sheets(1).cells(j,6)= Application.WorksheetFunction.Hex2Dec(sh)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
冬天脸上长痘痘了,可以用什么护肤品
永通二手车(八达中路124)地址好找么,我有些
电信嗨卡不去营业厅能办理吗?
新大洲本田销售店(207国道)地址在什么地方,
女孩,6岁,阵发性腹痛半年。查体:左腹部可
三国志9山阳公事件发生
电影院看电影,好像可以买一场,这场看完了,
炒菜锅什么材质的好 论锅的正确使用方式
女,30岁,发现颈部结节1周,无痛。体检:右
为啥很多男生拍照总是喜欢叼跟烟呢?
现在140斤,靠饿减肥,现在已经瘦了八斤了,
【小学生课堂游戏】小学作文课堂游戏
御捷电动汽车地址好找么,我有些事要过去
【九年级数学教学计划】人教版九年级数学上册
左手放在水里,右手放在冰里,哪只手比较冷?
推荐资讯
中国御捷地址有知道的么?有点事想过去
“ 三个代表”重要思想的出发点和归宿是始终
长安叮叮咚咚电脑经营部怎么去啊,我要去那办
【关于奉献的成语】赞美人默默奉献的成语
【周一到周日的英文缩写】星期一到星期日的英
【一根圆柱形钢管,长1.5米,外直径是8分米,内
es ist ein schnee gefallen歌词网上只能找到
山东省威海市文登中心医院能做包皮手术吗
由受精卵发育而来的雌蜂(蜂王)是二倍体(2n=3
我们有很多童年趣事例如,打水漂时,石头击在
启明村地址在哪,我要去那里办事
女生都很看重男生的身高吗?我身高187,算怎
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?