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

2 Responses

  1. ZEEN says:

    Hola, he visto los tutoriales y me parecen muy utiles sin embargo queria preguntarte si podias guiarme a ingresar formulas en un boton de comando en visual basic? La idea es q el usuario ingrese un valor numerico y escoja el tipo de material que va a utilizar. luego el usuario da click a un boton de comando con formulas y el formulario te tire el resultado de la formula en uin textbox .

  2. ZEEN says:

    Hola, he visto los tutoriales y me parecen muy utiles sin embargo queria preguntarte si podias guiarme a ingresar formulas en un boton de comando en visual basic? La idea es q el usuario ingrese un valor numerico y escoja el tipo de material que va a utilizar. luego el usuario da click a un boton de comando con formulas y el formulario te tire el resultado de la formula en uin textbox .

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: