UDF para obtener la fórmula de una celda como una cadena de texto en versiones previas a Excel 2013

Como anteriormente vimos en este artículo, Excel 2013 incluyó, entre otras, una nueva función llamada FORMULATEXTO, que según la ayuda en línea de Office, se describe como: Devuelve la fórmula en una cadena.

Qué quiere decir lo anterior. Significa que cualquier fórmula que tengamos en una celda, podremos extraerla textual y mostrarla como una cadena de Texto, como lo vemos en la Figura 1.

image

Figura 1. Usando la función FORMULATEXTO en Excel 2013.

Qué sucede si tengo Excel 2010 o anteriores.

Como siempre digo, si Excel no lo tiene, haz una macro. Esto aplica si quieres usar la función FORMULATEXTO, pero tu versión de Excel es 2010 o anterior.

Para esto, realizamos una función personalizada (UDF) media macros de Excel y le pondremos el nombre de ObtenerFormula.

Si estás interesado en el tema de la cración de Funciones (UDF) en Exce y vba, revisa estos artículos de este mismo Blog.

La función ObtenerFormula tiene el mismo comporamiento que FORMULATEXTO y puede ser perfectamente en versiones de Excel previas a 2013.

image

Figura 2. Usando ObtenerFormula (UDF).

Código vba de la función

Ubicación: Módulo1

Function ObtenerFormula(Celda As Range) As String
'
Application.Volatile
'
If Celda.HasArray Then
    ObterFormula = "{" & Celda.FormulaLocal & "}"
Else
    ObtenerFormula = Celda.FormulaLocal
End If
'
End Function

You may also like...