Converting String to Hex in Excel VBA

后端 未结 2 1267
鱼传尺愫
鱼传尺愫 2021-01-05 17:34

I need to convert strings to hexadecimals in my Excel VBA macro.

I tried:

Dim val As String
val = \"10\"
Dim hexVal As Integer
hexVal = Convert.ToInt         


        
相关标签:
2条回答
  • 2021-01-05 18:14

    In VBA you need to mess about with the &H literal:

    value = val("&H" & "10") '// 16
    value = val("&H3366CC")  '// 3368652
    

    Edit

    Function FromHex(hexString As String) As Long
        FromHex = Val("&H" & hexString)
    End Function
    

    Then

    resultString = hex$(FromHex("3366CC") / FromHex("A"))
    

    Or for constants obviously;

    resultString = hex$(FromHex("3366CC") / &HA)
    
    0 讨论(0)
  • Consider:

    Sub dural()
        Dim val As String, hval As String
        val = "10"
        hval = Application.WorksheetFunction.Dec2Hex(val)
        MsgBox hval
    End Sub
    

    VBA code needs to know or make an assumption about the input string. The code above assumes that the string represents a decimal value.

    If the input string is Hex, then:

    Sub dural2()
        Dim val As String, hval As Long
        val = "10"
        hval = Application.WorksheetFunction.Hex2Dec(val)
        MsgBox hval
    End Sub
    

    Here hval can be used arithmetically.

    0 讨论(0)
提交回复
热议问题