Seleccionar dato y me lleve a otra hoja en celda que posee dicho dato

El dato a buscar puede estar escrito en cualquier fila de la columna "D", la idea es que si le doy click sobre dicho dato en ese momento me realice la búsqueda en la Hoja2 y me lleve a la fila que contiene ese dato. Como un hipervínculo.

También me gustaría contar con otra opción de búsqueda pero esta vez dependa de 2 datos que se encuentran en la misma fila en la columna A y en la columna D, al dar click sobre el dato en "A" o en "D" me lleve y ubique en la fila de la Hoja2 en donde se cumple que encuentre dichos datos.

1 respuesta

Respuesta
1

Debes entrar al Editor de macros (atajo = ALT+)

Seleccionar el objeto HOJA donde están tus datos que seleccionarás, entiendo que en col D.

Allí copia la siguiente macro. Lo que ésta hace es buscar en todas las col de la hoja2 y seleccionar la fila entera. Ajusta o consulta nuevamente si necesitas que busque y seleccione con otros criterios.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'al seleccionar celdas de col D
'si la celda no está en col D o está vacía no se ejecuta
If Target.Column <> 4 Or Target = "" Then Exit Sub
dato = Target.Value
'se busca en todo el rango de la hoja2
Set busco = Sheets("Hoja2").Range("A:H").Find(dato, LookIn:=xlValues, lookat:=xlWhole)
'si la búsqueda no está vacía selecciona la hoja y fila encontrada
If Not busco Is Nothing Then
    Sheets("Hoja2").Select
    ActiveSheet.Range("A" & busco.Row).EntireRow.Select
Else
    MsgBox "No se encontró el dato buscado"
End If
End Sub

En videos 45 al 47 de mi canal dejé explicados los principales Eventos de Hojas. 

Para lo que necesitas, bien podrías utilizar también el evento BeforeDobleClick.

PD) Te dejo para que pruebes de desarrollar la macro de búsqueda en 2 col. Si te presenta alguna dificultad me avisas y te la paso.

Muchas gracias Elsa!, pude lograrlo modificando al evento a BeforeDobleClick. Por que resulta que me decía que había un error de compilación o algo así, y me marcaba en amarillo

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Entiendo que puede ser debido a que en la misma hoja ya tenia un evento igual que hace otra cosa. Puede que sea eso. Lo otro que cambie fue que busque en la columna E y no en la D como lo había mencionado antes. quedando de la siguiente manera 

Ahora iré trabajando en la que busque según criterio de 2 columnas y cualquier inconveniente daré aviso.

Mil gracias!

Si. Si llegaste a ver el video 45 o 46 allí menciono justamente que no se pueden tener 2 eventos iguales en la misma hoja. Habrá que desarrollarlo con algún If.... Else... End Iff para cubrir los 2 o más criterios.

Está bien que hayas optado por lo más práctico, teniendo otros tipos de eventos que resuelven la misma situación.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas