Excel nos da lo opción de mostrar todas las fórmulas de las celdas de una hoja en lugar de su resultado, sin embargo es probable que en alguna ocasión necesites mostrar solamente la fórmula contenida en alguna celda específica.
Para poder mostrar la fórmula de una celda en Excel crearemos una función definida por el usuario (UDF) que tendrá como argumento la referencia de la celda de la cual deseamos conocer la fórmula.
Crear la función definida por el usuario
Para iniciar debemos abrir el Editor de Visual Basic y crear un Módulo de código donde colocaremos la siguiente función:
Public Function MostrarFormula(Celda As Range) MostrarFormula = Celda.Formula End Function
El resultado en el Editor de Visual Basic es el siguiente:
Debemos guardar el archivo como un Libro de Excel habilitado para macros de manera que podamos utilizar la nueva función creada.
Mostrar la fórmula de una celda
El siguiente paso es utilizar la función MostrarFormula y para ello he colocado en la celda A1 la fórmula:
=SUMA(1, 2, 3, 4, 5)
Ahora en la celda C1 utilizaremos nuestra función VBA de la siguiente manera:
=MostrarFormula(A1)
Al indicar la dirección de la celda A1 como argumento de nuestra función, Excel obtendrá el valor de su propiedad Formula y la mostrará en la celda C1:
La celda C1 nos dará en todo momento la fórmula que haya sido escrita en la celda A1. Observa cómo al cambiar la fórmula en la celda A1 se reflejará el cambio automáticamente en la celda C1:
Mostrar las funciones en español
En los ejemplos anteriores puedes notar que la función MostrarFormula nos regresa el nombre de la función en inglés. La única manera de obtener los nombres de las funciones en español es utilizar la propiedad FormulaLocal en lugar de la propiedad Formula de la siguiente manera:
Public Function MostrarFormula(Celda As Range) MostrarFormula = Celda.FormulaLocal End Function
Si realizas este pequeño cambio a la función UDF, obtendrás como resultado el nombre de las funciones de Excel en español.