如何在Excel中将从十二进制单元格的范围转换为hex

我只是想知道如何将一个单元格的范围从十进制转换为hex,而不使电子表格巨大而且很慢。 我也想为它使用VBA,因为它将用于分析。

我想这样做的方法是使用DEC2HEX公式转换单元格,然后隐藏所有的十进制单元格,但显然这使得电子表格相当大。 如果有一种方法只是转换值,并用hex值replace这些单元格,这将是非常有帮助的。

任何意见将不胜感激。 提前致谢。

一个可能的解决scheme – >

 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