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.
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.
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