如何在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