在Excel VBA中将string转换为hex
我需要在我的Excel VBAmacros中将string转换为hex。
我试过了:
Dim val As String val = "10" Dim hexVal As Integer hexVal = Convert.ToInt32(val, 16)
但Convert.ToInt32(val, 16)
不起作用,我猜是因为它不是VB.NET?
无论如何,我可以使用CInt(val)
将string转换为整数,但如果我有hex值的string表示,例如“3366CC”,我如何将其转换为hex,以便我可以执行hex计算呢?
在VBA中,你需要关心&H
文字:
value = val("&H" & "10") '// 16 value = val("&H3366CC") '// 3368652
编辑
Function FromHex(hexString As String) As Long FromHex = Val("&H" & hexString) End Function
然后
resultString = hex$(FromHex("3366CC") / FromHex("A"))
或者对于常量显然;
resultString = hex$(FromHex("3366CC") / &HA)
考虑:
Sub dural() Dim val As String, hval As String val = "10" hval = Application.WorksheetFunction.Dec2Hex(val) MsgBox hval End Sub
VBA代码需要知道或假设inputstring。 上面的代码假设string表示一个十进制值。
如果inputstring是hex,则:
Sub dural2() Dim val As String, hval As Long val = "10" hval = Application.WorksheetFunction.Hex2Dec(val) MsgBox hval End Sub
这里hval可以算术地使用。