Modificar macro de buscar para que solo busque en ciertas hojas

Dante tengo tu macro de buscar en todas las hojas de un libro, pero yo solo quiero que me busque en las hojas que yo le nombre, como puedo hacer para que solo busque esa macro en las hojas que yo le nombre... Por ejemplo en las hojas llamadas INDICE, PAMPLONA, ESTELLA

1 Respuesta

Respuesta
1

Puedes poner la macro para hacer la actualización.

Tw envío la macro que me enviaste dante/


Sub BuscarDatos() 'Act.Por.Dante Amor     buscar = InputBox("INTRODUZCA EL NOMBRE", "Busqueda en todas las hojas del libro")     If buscar = "" Then Exit Sub     '     For Each hoja In Sheets         Select Case hoja.Name             Case "Hoja1", "NOMBRES", "BUSCAR"             Case Else                 Set r = hoja.Cells                 Set b = r.Find(buscar, lookat:=xlPart)                 If Not b Is Nothing Then                     celda = b.Address                     Do                         hoja.Activate                         b.Select                         MsgBox "El dato se encuentra en al hoja: " & hoja.Name & vbCr & _                                "En la celda : " & b.Address                         Set b = r.FindNext(b)                     Loop While Not b Is Nothing And b.Address <> celda                 End If         End Select     Next hoja End Sub

Puedes ponerla nuevamente, ya que no se copió bien.

O ponla dentro del icono de insertar código fuente

Te envío a tu correo la macro dante

Quedaría así la macro

Sub BuscarDatos()
'Act.Por.Dante Amor
    Dim buscar
    Dim texto As String, titulo As String
    texto = "INTRODUZCA EL NOMBRE"
    titulo = "Busqueda en todas las hojas del libro"
    buscar = InputBox(texto, titulo)
    If buscar = "" Then Exit Sub
    '
    For Each hoja In Sheets
        Select Case hoja.Name
            Case "HOJA1", "HOJA2", "HOJA3"
                Set r = hoja.Cells
                Set b = r.Find(buscar, lookat:=xlPart)
                If Not b Is Nothing Then
                    celda = b.Address
                    Do
                        hoja.Activate
                        b.Select
                        res = MsgBox("El dato se encuentra en al hoja: " & hoja.Name & vbCr & _
                               "En la celda : " & b.Address & vbCr & _
                               "Continuar buscando", vbQuestion + vbYesNo, "BUSCAR")
                        If res = vbNo Then Exit Sub
                        Set b = r.FindNext(b)
                    Loop While Not b Is Nothing And b.Address <> celda
                End If
        End Select
    Next hoja
End Sub

Cambia "HOJA1", "HOJA2", "HOJA3", por el nombre de las hojas donde SÍ quieres buscar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas