vba是什麼 如何在Excel中將從十二進制單元格的範圍轉換為十六進制




vba in sheet (2)

我只是想知道如何將一個單元格的範圍從十進制轉換為十六進制,而不使電子表格巨大而且很慢。 我也想為它使用VBA,因為它將用於分析。

我想這樣做的方法是使用DEC2HEX公式轉換單元格,然後隱藏所有的十進制單元格,但顯然這使得電子表格相當大。 如果有一種方法只是轉換值,並用十六進制值替換這些單元格,這將是非常有幫助的。

任何意見將不勝感激。 提前致謝。


一個可能的解決方案 - >

Sub convertRangeToHex() 
Dim r As Range 
Dim myRange As Range: Set myRange = Application.Selection 'define your range

For Each r In myRange
    If IsNumeric(r.Value) Then
        r.Value = "0x" & WorksheetFunction.Dec2Hex(r.Value)
    End If 
Next 
End Sub

您可以通過WorksheetFunction類在VBA中使用Dec2Hex

Option Explicit

Sub Test()

    ConvertToHex Sheet1.Range("A1:A15")

End Sub

Sub ConvertToHex(rngData)

    Dim rngCell As Range

    For Each rngCell In rngData
        rngCell.Value = WorksheetFunction.Dec2Hex(rngCell.Value)
        rngCell.NumberFormat = "@" '<-- tidies formatting of hex
    Next

End Sub




excel-2010