Macro que trabaje estando en cualquier hoja

Tengo un libro excel en la cual contiene varias hojas con diferentes nombres, cuando ejecutó la macro en la hoja especifica o en la hoja que guarda la información trabaja perfectamente, el problema viene cuando me voy a una hoja distinta esta ya no me trabaja me gustaría saber cual seria el problema porque este libro de excel que tengo tiene unos 50 hojas distintas.

Ante todo mil gracias por la respuesta que me puedan dar.

Dim direccion
'
Private Sub CommandButton1_Click()
'Buscar
    direccion = ""
    Call Buscar(1, xlNext, "A1")
End Sub
Private Sub CommandButton2_Click()
'Siguiente
    Call Buscar(2, xlNext, direccion)
End Sub
Private Sub CommandButton3_Click()
'Anterior
    Call Buscar(2, xlPrevious, direccion)
End Sub
'
Sub Buscar(op, hacia, celda)
'Por.Dante Amor
    TextBox2 = ""
    If op = 2 And direccion = "" Then
        MsgBox "Debes primero Buscar el código"
        TextBox1.SetFocus
        Exit Sub
    End If
    If TextBox1 = "" Then
        MsgBox "Captura el código"
        TextBox1.SetFocus
        Exit Sub
    End If
    Set b = Columns("A").Find(TextBox1, After:=Range(celda), Lookat:=xlWhole, SearchDirection:=hacia)
    If Not b Is Nothing Then
        TextBox2 = b.Offset(0, 1)
        direccion = b.Address
    Else
        MsgBox "El código no existe"
    End If
End Sub
'
Private Sub TextBox1_Change()
    TextBox2 = ""
    direccion = ""
End Sub
Respuesta
1

No lo he probado.

Prueba lo siguiente, cambia esta línea

Set b = Columns("A").Find(TextBox1, After:=Range(celda), Lookat:=xlWhole, SearchDirection:=hacia)

Por esta:

Set b = Sheets("Hoja1").Columns("A").Find(TextBox1, After:=Range(celda), Lookat:=xlWhole, SearchDirection:=hacia)

Cambia "Hoja1" por el nombre de la hoja con los datos.

Gracias, por la pronta respuesta mi gran amigo en principio tube problemas ya que no trabajaba con la Ruta de ("Hoja1") si no con el nombre de la hoja, anteriormente me desplegaste con una macro para trabajar con la ruta de Hoja1, Hoja2 ect. En verdad me gustaría recordar esa parte. 

Y otra ves más muchas gracias, en verdad gracias a tus aportes en este foro e aprendido muchísimo y en verdad no sé cómo agradecerte por toda esa ayuda que me has  brindado. 

No entendí.

¿Ya funcionó?

Si es así, no olvides valorar.

Si conoces el codename de la hoja, puede ser:

Set b = Hoja1.Columns("A").Find(TextBox1, After:=Range(celda), Lookat:=xlWhole, SearchDirection:=hacia)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas