如何在Excel中将一系列单元格从Dec转换为Hex

时间:2017-02-01 08:25:24

标签: excel vba excel-vba excel-formula excel-2010

我只是想知道如何在不使电子表格变得庞大且非常慢的情况下将一系列单元格从十进制转换为十六进制。我也想使用VBA,因为它将用于分析。

我想到这样做的方法是使用DEC2HEX公式转换单元格,然后隐藏所有小数单元格,但显然这会使电子表格变得非常大。如果有一种方法可以只转换值并用十六进制值替换这些单元格,那将非常有用。

非常感谢任何建议。提前谢谢。

2 个答案:

答案 0 :(得分:3)

您可以通过Dec2Hex类:

在VBA中使用WorksheetFunction
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

答案 1 :(得分:3)

一种可能的解决方案 - &gt;

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