小编Wil*_*ils的帖子

Excal VBA - Format("7A", "00") 输出“00”,而 Format("7B", "00") 结果为所需的输出“7A”。为什么它们不同?

我试图列出每个 Excel 行从 7F 到 00 的十六进制值。我通过执行以下代码实现了它:

Sub ListDownHex()
Dim StartValue, i As Integer
Dim nRow As Long
Dim sh As Worksheet

Set sh = ActiveSheet
StartValue = 127 'memory location of 8051 RAM
nRow = 4

For i = StartValue To 0 Step -1
    sh.Range("A" & nRow) = Format(Right$("00" & Hex(i), 2), "00")
    nRow = nRow + 1
Next i

End Sub
Run Code Online (Sandbox Code Playgroud)

除了具有“A”的十六进制值(如“7A”、“6A”、“5A”等)之外,结果为“00”。进一步检查中间窗口确认 Format() 函数可以做到这一点。

? Format("7B","00") 'desired output
7B
? Format("7A","00") 'not expected output
00
Run Code Online (Sandbox Code Playgroud)

这是一个错误还是我错过了什么?为什么他们的行为不同?(注意:我的问题的重点是 Format() …

excel vba excel-formula

4
推荐指数
1
解决办法
264
查看次数

标签 统计

excel ×1

excel-formula ×1

vba ×1