¿Cómo usar la función WorksheetFunction.Base en VBA?

La función `WorksheetFunction.Base` en VBA se utiliza para convertir un número de un sistema base decimal a otra base numérica (binario, octal, hexadecimal, etc.). El rango de la base de destino puede ser entre 2 y 36. La función tiene la siguiente estructura sintáctica:

WorksheetFunction.Base(Number, Radix, [MinLength])

Donde:

  • `Number` es el número que quieres convertir.
  • `Radix` es la base a la que deseas convertir el número (por ejemplo, 2 para binario, 8 para octal, 16 para hexadecimal, etc.).
  • `[MinLength]` es opcional y especifica la longitud mínima de la cadena de texto resultante. Si la longitud del número convertido es menor que `MinLength`, la función agrega ceros a la izquierda hasta alcanzar la longitud mínima.

Aquí tienes un ejemplo de cómo podrías utilizar la función `WorksheetFunction.Base` en VBA para convertir un número decimal a binario, octal y hexadecimal:

Sub ConvertNumberBases()
    Dim DecimalNumber As Long
    DecimalNumber = 255 ' Este es el número que vamos a convertir
    
    ' Crear una instancia de WorksheetFunction para acceder a las funciones de hoja de cálculo
    Dim WsFunc As WorksheetFunction
    Set WsFunc = Application.WorksheetFunction
    
    ' Convertir a binario (base 2)
    Dim BinaryString As String
    BinaryString = WsFunc.Base(DecimalNumber, 2)
    Debug.Print "Binario: " & BinaryString
    
    ' Convertir a octal (base 8)
    Dim OctalString As String
    OctalString = WsFunc.Base(DecimalNumber, 8)
    Debug.Print "Octal: " & OctalString
    
    ' Convertir a hexadecimal (base 16) con longitud mínima de 6
    Dim HexString As String
    HexString = WsFunc.Base(DecimalNumber, 16, 6)
    Debug.Print "Hexadecimal: " & HexString
End Sub

En este script, definimos primero el número que queremos convertir y luego utilizamos la función `Base` del objeto `WorksheetFunction` para convertir ese número a diferentes bases numéricas.

Una vez que ejecutes este macro, deberías ver en la ventana inmediata (Immediate Window) del editor de VBA (que puedes mostrar con la tecla `Ctrl+G`) las conversiones a cada una de las bases especificadas.

Por favor, ten en cuenta que el objeto `WorksheetFunction` contiene una colección de todas las funciones disponibles en Excel, pero no todas las funciones están disponibles en todas las versiones de Excel. La función `Base` se introdujo en Excel 2013 y no está disponible en versiones anteriores.

Conoce nuestra tienda

Ver más productos

Mejora tu nivel y logra tus objetivo

Excel

Excel cursos

Access

cursos de Access

Power BI

cursos power BI

Ayúdanos a hacer crecer el proyecto

Deja un comentario