Función MostrarFormula

Aporta tus macros y códigos Excel de interés para la comunidad.

Reglas del Foro
Este foro no es para hacer preguntas!
Este foro solo es para que aportes algo de interés para la comunidad.
(para preguntas vuelve al índice y busca los foros de "Tus Preguntas a la Comunidad")
Compartir en:
     

Función MostrarFormula

Notapor TodoExcel » 13 Oct 2011 19:37

Esta función te permitirá mostrar la fórmula que hay en una celda.

Requiere 3 argumentos:

1. Formula: celda con la fórmula

2. Tipo (opcional)
0 para mostrar la fórmula tal cual fue ingresada en la celda (es el valor por defecto).
1 para mostrar la fórmula en inglés.
2 para mostrarla en referencia tipo R1C1

3. Celda[Argumento opcional], indica si se mostrará la dirección de la celda en la que se encuentra la fórmula que se desea mostrar. Falso (0) es el valor predeterminado, así que si se omite no mostrará la dirección de la celda. Verdadero (1) mostrará la dirección de la celda antecediendo a la fórmula.

Así, si en A11 se tiene la fórmula =SUMA(A1:A10), MostrarFormula dará los siguientes resultados:

=MostrarFormula(A11) mostrará =SUMA(A1:A10)
=MostrarFormula(A11,,1) mostrará A11: =SUMA(A1:A10)
=MostrarFormula(A11,2) mostrará =SUM(R[-10]C:R[-1]C)
=MostrarFormula(A11,1,VERDADERO) mostrará A11: =SUM(A1:A10)

Si la celda ingresada en MostrarFormula contiene un fórmula matricial, el resultado arrojado se mostrará entre { } indicando que es una fórmula matricial.

Si la celda ingresada en MostrarFormula no contiene una fórmula, la función arrojará error de #N/A.

A continuación el código de la función:

Código: Seleccionar todo
Function MostrarFormula(ByVal Formula As Excel.Range, _
                        Optional ByVal Tipo As Byte = 0, _
                        Optional ByVal Celda As Boolean = False) As Variant
   
    Dim Ref As String
   
    If Formula.HasFormula Then
       
        If Celda = True Then Ref = Formula.Address(0, 0) & ": "
       
        Select Case Tipo
            Case 0
                If Formula.HasArray Then
                    MostrarFormula = Ref & "{" & Formula.FormulaLocal & "}"
                Else
                    MostrarFormula = Ref & Formula.FormulaLocal
                End If
            Case 1
                If Formula.HasArray Then
                    MostrarFormula = Ref & "{" & Formula.Formula & "}"
                Else
                    MostrarFormula = Ref & Formula.Formula
                End If
            Case 2
                If Formula.HasArray Then
                    MostrarFormula = Ref & "{" & Formula.FormulaR1C1 & "}"
                Else
                    MostrarFormula = Ref & Formula.FormulaR1C1
                End If
        End Select
   
    Else
       
        MostrarFormula = VBA.CVErr(xlErrNA)
   
    End If
   
End Function


Salu2.xls
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
TodoExcel
Manager Exceluciones
Manager Exceluciones
 
Registrado: 05 Jun 2004 16:05

Re: Función MostrarFormula

Notapor Adrian » 14 Oct 2011 10:48

Hola, buen aporte!!! :D :D :D :D :D :D :D :D
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Adrian
Moderator
Moderator
 
Registrado: 13 Jun 2004 17:24
Ubicación: Chamical La Rioja ARG


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros, programación y códigos

¿Quién está conectado?

Usuarios navegando por este Foro: ArmandoPR y 1 invitado