¿Cómo puedo hacer que cuando encuentre el dato buscado se quede en al hoja para modificarlo?

Private Sub CommandButton1_Click()
Dim buscar
Dim texto As String, titulo As String
texto = "Introduzca su búsqueda"
titulo = "Búsqueda en todas las hojas del libro"
buscar = InputBox(texto, titulo)
If buscar = "" Then Exit Sub
For Each hoja In Sheets
If hoja.Name <> "Principal" Then
With hoja.Range("A2:AA65500")
hoja.Activate
Set esta = .Find(buscar, LookIn:=xlValues, lookat:=xlWhole)
If Not esta Is Nothing Then
primeracelda = esta.Address
Do
esta.Select
sino = MsgBox("Estás en hoja " & hoja.Name & " ¿Deseas continuar la búsqueda?", vbYesNo)
If sino <> vbYes Then Sheets("Principal").Select: Exit Sub
Set esta = .FindNext(esta)
Loop While Not esta Is Nothing And esta.Address <> primeracelda
End If
End With
End If
Next hoja
End Sub

conseguido corregir el error 9, el programa busca el dato, lo encuentra pero cuando le doy a cerra vuelve a la hoja principal y no se queda en la hoja donde busque el dato para poder modificarlo, he probado a dejar solo las comillas en principal pero da error, ¿como podría hacer esto?. Gracias

1 respuesta

Respuesta
1

Retira la parte de la instrucción que vuelve a hoja Principal, debiéndote quedar así:

If sino <> vbYes Then Exit Sub

Por supuesto que si realizas la búsqueda desde un botón de userform, al cerrarlo tampoco se debe volver a la hoja Principal.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas