¿Para que sirve?, me preguntarán Básicamente, para documentar fórmulas, como la que aparece en la imagen. La fórmula calcula la fecha del tercer lunes de un mes determinado (la nota sobre el tema la publicaré próximamente).
En algunas de mis notas suelo incluir el texto de la fórmula. Para obternerlo suelo copiar la fórmula directamente de la barra de las fórmulas y pegarla en una celda previamente formada como Texto o pegarla quitando el símbolo "=" para que Excel no la interprete como fórmula.
Dado que la mayor parte de mis notas las desarrollo con Excel 2010, decidí que podría crear una UDF (función definida por el usuario) que imite el funcionamiento de FORMULATEXTO para poder usarla en versiones de Excel anteriores a Excel 2013.
El código de la función es el siguiente
Function formulaText(rcell As Range, vType As Boolean) As String
If rcell.HasFormula = False Then
formulaText = "#NA!"
Exit Function
End If
Select Case vType
Case Is = False
formulaText = rcell.FormulaLocal
Case Is = True
formulaText = Mid(rcell.FormulaLocal, 2, Len(rcell.FormulaLocal) - 1)
End Select
End Function
La función tiene dos argumentos:
- rcell: es la celda que contiene la fórmula
- vType: que puede ser 0 o FALSO (incluye el símbolo "=" al principio de la fórmula) o 1 o VERDADERO (el texto no muestra el símbolo "=")