Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 7127|回复: 10

[已解决]如何用VBA批量转换为16进制

[复制链接]
发表于 2010-9-30 17:10 | 显示全部楼层 |阅读模式

MECbWScU.rar (5.36 KB, 下载次数: 21)

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2010-9-30 17:52 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2010-9-30 18:12 | 显示全部楼层

就是要写个程序按照要求把它们改成相应的十六进制(这里就举出了四个例子):

无机物热力学数据手册

GB/T 8364-2008 热双金属热弯曲试验方法

GB/T 7732-2008 金属材料 表面裂纹拉伸试样断裂韧度试验方法

API STD 622-2006 炼油阀门防泄漏结构的型式试验

……

……

回复

使用道具 举报

发表于 2010-9-30 18:29 | 显示全部楼层

规则3,%在前面;B列,%在后面

 

 

[em09]

回复

使用道具 举报

发表于 2010-9-30 18:42 | 显示全部楼层

除了百分号,对汉字的转换结果也不一样。例如:按规则的话是不是:

  1. Sub tt()
    MsgBox VBA.Hex(Asc("无")) 'CEDE
    End Sub
  2. 而B1第1个汉字转换后是,"E697"

是不是哪儿还没说?

回复

使用道具 举报

 楼主| 发表于 2010-9-30 19:09 | 显示全部楼层

把规则三去掉了。规则三不对。呵呵,是我的错
回复

使用道具 举报

发表于 2010-9-30 19:33 | 显示全部楼层


Sub 按钮3_Click()
    Dim arr, i&

    With Sheets(1)
        arr = .Range("A1:B" & .Range("A65536").End(xlUp).Row)
        
        For i = 1 To UBound(arr)
            arr(i, 2) = Replace(arr(i, 1), "/", "")    '规则1
            arr(i, 2) = Replace(arr(i, 1), " ", "%20")    '规则2
        Next i
        
        Columns(2).ClearContents
        .Range("A1").Resize(UBound(arr), 2) = arr
    End With
End Sub

mMop237J.rar (11.9 KB, 下载次数: 8)

回复

使用道具 举报

 楼主| 发表于 2010-9-30 21:56 | 显示全部楼层

试了下,好像是不对,汉字没变 汉字是 utf-8编码
[此贴子已经被作者于2010-9-30 22:02:29编辑过]
回复

使用道具 举报

发表于 2010-10-1 12:51 | 显示全部楼层    本楼为最佳答案   

LOiVf8jr.rar (12.48 KB, 下载次数: 65)
回复

使用道具 举报

 楼主| 发表于 2010-10-1 21:41 | 显示全部楼层

非常感谢!节日快乐!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 06:02 , Processed in 0.389238 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表