Macros para buscar excel

Buenas expertos

El siguiente macros me manda error 91

Sub MOSTRAR()
Sheets("bd bodega").Visible = True "esta linea me muestra esta hoja oculta"
Sheets("bd bodega").Select "aca la selecciona"
Range("m1").Select "después de seleccionarla va a la celda m1"
Buscardato = InputBox("favor introducir el valor buscado", "Default", Range("n2").Value) "aquí me manda un inputbox y toma el valor de la celda n2 automáticamente"
If Buscardato <> "" Then
Cells.Find(What:=Buscardato, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
False, SearchOrder:=xlByColumns, SearchDirection:=False, MatchCase:=False _
, SearchFormat:=True).Activate "esto busca el valor pedido"
End If
End Sub

me aparece error 91 y se subrraya lo que esta en negrita arriba o sea

Cells.Find(What:=Buscardato, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
False, SearchOrder:=xlByColumns, SearchDirection:=False, MatchCase:=False _
, SearchFormat:=True).Activate


Estas variables de arriba que hacen en si cada una "what, after, lookin, lookat,

searchorder, searchdirection y las demás.......

Saludos......

1 Respuesta

Respuesta
1

El error es porque el dato que buscas no se encuentra en la hoja, para solucionar el error cambia tu macro por esta:

Sub MOSTRAR()
Sheets("bd bodega").Visible = True '"esta linea me muestra esta hoja oculta"
Sheets("bd bodega").Select '"aca la selecciona"
Range("m1").Select '"después de seleccionarla va a la celda m1"
Buscardato = InputBox("favor introducir el valor buscado", "Default", Range("n2"). Value) '"aquí me manda un inputbox y toma el valor de la celda n2 automáticamente"
If Buscardato <> "" Then
    Set b = Cells.Find(What:=Buscardato, _
        After:=ActiveCell, _
        LookIn:=xlFormulas, _
        LookAt:=False, _
        SearchOrder:=xlByColumns, _
        SearchDirection:=False, _
        MatchCase:=False, _
        SearchFormat:=True)
    If Not b Is Nothing Then
        b.Activate
    Else
        MsgBox "dato no encontrado"
    End If
End If
End Sub
 

Qué significan los parámetros:
Set b = Cells.Find(What:=Buscardato, _ El dato que vas a buscar
After:=ActiveCell, _ La búsqueda empieza después de celda activa
LookIn:=xlFormulas, _ Que busque también en fórmulas
LookAt:=False, _ En la hoja o en el libro
SearchOrder:=xlByColumns, _ Buscar en filas y luego en columnas
SearchDirection:=False, _ Buscar hacia adelante o hacia atrás
MatchCase:=False, _ Coincidir mayúsculas y la celda entera
SearchFormat:=True) Si tiene un format especial la celda

Saludos. DAM
No olvides finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas