Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Función WorksheetFunction.Roman

| 1 comentario

El WorksheetFunction contiene funciones integradas que se pueden usar de la misma manera que las funciones de una hoja hoja de Excel.

Para poder usar cualquier función WorksheetFunction, se debe nombrar primero al objeto Application.

Ejemplo: Application.WorksheetFunction.Roman

La función WorksheetFunction.Roman(arg1, [arg2]) es equivalente a “=NUMERO.ROMANO(número, [formal])” que se usa en las celdas de Excel para convertir un número arábigo (1,2,3,..) en un número romano (I,V,X, ...). La diferencia radica en que la primera se puede incluir en el lenguaje VBA para programar una macro. La notación de esta función en VBA es:

Las restricciones de la función WorksheetFunction.Roman son las mismas que para Numero.Romano, por lo tanto los números que convierte solo pueden ser mayores a cero y menores a 4000 (0< x < 4000).

 

Ejemplos de Función WorksheetFunction.Roman

Cuando hablamos de ciclos o semestres en la universidad se usan números romanos en vez de los arábigos, por tanto si tenemos el ciclo en la celda D4 podemos usar lo siguiente:

Sub Ejemplo()
Arabigo = Worksheets("Hoja1").Range("D4")
Romano = Application.WorksheetFunction.Roman(Arabigo)
Range("E4") = Romano
End Sub

ejemplo worksheetfunction.roman

Descargar ejemplo: Función WorksheetFunction.Roman

 

Si no deseamos depender de una celda si no de un número disponible en una variable podríamos usar lo siguiente:


Sub ConvertirANumeroRomano()
Dim Numero As Integer
Dim Romano As String
' Número a convertir
Numero = 2023
' Usando la función WorksheetFunction.Roman para convertirlo
Romano = WorksheetFunction.Roman(Numero)
' Muestra el resultado en la celda activa
ActiveSheet.Cells(1, 1).Value = Romano
End Sub
Por: María Alejandra Ceballos Valencia

Un comentario

  1. En el ejemplo Arabigo es una variable no declarada, entonces deduzco que no es necesario porque la macro ¿asume un valor numérico?. ¿En qué momento declaro si una variable es numérica o string?

Deja una respuesta

Los campos requeridos estan marcados con *.