|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 香川群子 于 2012-6-23 11:04 编辑
如果2003版中无法正常使用,可以改为使用自定义函数。
例如:
第2参数默认k=0时,把十进制转化为十六进制。并且默认采用每4位长度加0补足的表示形式:如 007B,0012034D
第2参数k=1时,把十六进制转化为十进制。
- Function DH(NUM, Optional k = 0)
- If k = 1 Then
- NUM = UCase(NUM)
- For i = 1 To Len(NUM)
- h = Mid(NUM, i, 1)
- If Asc(h) > 64 Then h = Asc(h) - 55
- DH = DH + h * 16 ^ (Len(NUM) - i)
- Next i
- Exit Function
- End If
-
- If NUM < 0 Then NUM = 16 ^ 4 + NUM
- n = Int(Log(NUM) / Log(16))
- For i = n To 1 Step -1
- s = Int(NUM / 16 ^ Int(i))
- NUM = NUM - s * 16 ^ Int(i)
- If s > 9 Then s = Chr(55 + s)
- DH = DH & s
- Next i
-
- If NUM > 9 Then NUM = Chr(55 + NUM)
- m = Int(n / 4 + 1) * 4
- DH = "" & Right(String(m, "0") & DH & NUM, m)
-
- End Function
复制代码 |
|