如何在Excel中将一系列单元格从Dec转换为十六进制



我只是想知道如何在不使电子表格变得庞大且非常慢的情况下将一系列单元格从十进制转换为十六进制。我还想使用它 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

最新更新