tabla - Cómo convertir un rango de celdas de Dec a Hex en Excel
formula excel hexadecimal a decimal (2)
Puede usar Dec2Hex
en VBA a través de la clase 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
Me pregunto cómo voy a convertir un rango de celdas de decimal a hexadecimal sin hacer que la hoja de cálculo sea enorme y muy lenta. También me gustaría utilizar VBA para ello, ya que se usaría para el análisis.
La forma en que he pensado hacer esto sería convertir las celdas usando la fórmula DEC2HEX
y luego ocultar todas las celdas decimales, pero obviamente esto hace que la hoja de cálculo sea bastante grande. Si hay una manera de simplemente convertir los valores y reemplazar esas celdas con el valor hexadecimal, sería muy útil.
Cualquier consejo sería muy apreciado. Gracias por adelantado.
Una posible solución ->
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