¿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

¡Únete a nuestro Grupo de Facebook!

Deja un comentario