¿Cómo buscar una fórmula con find mediante una macro?

Necesito buscar una fórmula dentro de una tabla mediante una macro que utilice "Find".

Tengo las siguientes instrucciones:

LímiteBúsquedaCP = 12 + Worksheets(Catálogo).Range("$B$11").value

ValorBuscado = Worksheets(forProductos).Range("E9") 'Aquí se encuentra la fórmula a buscar.
Set RangoBúsqueda = Worksheets(Catálogo).Range("$B$13", "$B" & LímiteBúsquedaCP) 
Set ValorEncontr = Worksheets(Catálogo).Range("$B$13", "$B" & LímiteBúsquedaCP).Find(ValorBuscado)

El problema es que con esta última instrucción sólo busca un valor, no una fórmula pero no sé cómo pedirle que busque una fórmula.

1 respuesta

Respuesta
1

H o l a:

Te anexo la macro actualizada, establecí en las variables h1 y h2 los objetos de las hojas, para no repetir todo el nombre de la hoja varias veces. En la variable ValorEncontr tienes el objeto de la celda encontrada, con esa variable, puedes saber, por ejemplo, la fórmula, el valor, la dirección, etc.

Sub BuscarFormula()
'Por.Dante Amor
    Set h1 = Sheets("Catálogo")
    Set h2 = Sheets("forProductos")
    LímiteBúsquedaCP = 12 + h1.[B11]
    ValorBuscado = h2.[E9].Formula 'Aquí se encuentra la fórmula a buscar.
    Set RangoBúsqueda = h1.Range("B13:B" & LímiteBúsquedaCP)
    Set ValorEncontr = RangoBúsqueda.Find(ValorBuscado, LookIn:=xlFormulas, LookAt:=xlWhole)
    If Not ValorEncontr Is Nothing Then
        MsgBox "Formula " & ValorEncontr.Formula & _
               " encontrada en la celda: " & ValorEncontr.Address & vbCr & _
               "El valor de la celda es: " & ValorEncontr.Value
    Else
        MsgBox "La fórmula no existe"
    End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas