Macro para buscar 2 datos diferentes en una misma columna

Antes de nada agradecer el tiempo que me podáis dedicar. Llevo tiempo buscando como hacer una macro que me busca si están en una misma columna 2 datos diferentes que le doy y que me devuelva el resultado de una celda concreta que no se encuentra en la misma columna. Me explico:

Hoja1: Columna A con 5 nombres de animales por ejemplo

Hoja2: B1= Perro; A2= Gato

Hoja2: B2= me de el valor de E1(por ejemplo) en caso de que Gato y Perro se encuentren en la misma columna de la Hoja2 y si no 0.

1 Respuesta

Respuesta
1

No me queda clara tu consulta, me pareció que hay una confusión entre filas y col. Si todo lo enunciado es correcto debieras dejar una imagen del contenido de las hoja2.

Quedo a la espera de tus aclaraciones para avanzar con la respuesta.

Muchas gracias por contestarme!!. Te mando las fotos y una explicación de lo que necesito.

La FOTO 1 corresponde a la Hoja1 y la FOTO 2 a la Hoja2.

Gracias de nuevo!!

Esta sería la macro siguiendo la idea de las imágenes.

Entra al Editor (con ALY y F11), inserta un módulo y allí copia lo siguiente:

Sub buscaCoincidencias()
'x Elsamatilde
Dim marca As Byte
Set busca = Sheets("Hoja1").Range("tabla1").Find([A2], LookIn:=xlValues, lookat:=xlWhole)
'si lo encuentra busca el 2do dato en la misma tabla
If Not busca Is Nothing Then
    Set busca2 = Sheets("Hoja1").Range("tabla1").Find([B1], LookIn:=xlValues, lookat:=xlWhole)
    'si lo encuentra coloca el valor de E1
    If Not busca2 Is Nothing Then
        [B2] = Sheets("Hoja1").[E1]
        marca = 1
    End If
End If
'si no lo encontró busca en la 2da tabla
If marca = 0 Then
    Set busca = Sheets("Hoja1").Range("tabla2").Find([A2], LookIn:=xlValues, lookat:=xlWhole)
    If Not busca Is Nothing Then
        Set busca2 = Sheets("Hoja1").Range("tabla1").Find([B1], LookIn:=xlValues, lookat:=xlWhole)
        'si lo encuentra coloca el valor de E1
        If Not busca2 Is Nothing Then
            [B2] = Sheets("Hoja1").[E1]
        Else
            [B2] = 0
        End If
    Else
        [B2] = 0
    End If
End If
End Sub

Para ejecutarla podrás utilizar el mismo menú Macros, un botón dibujado en la hoja o un atajo de teclado. Estos temas los tengo explicados en la sección Macros de mi sitio. Cualquier dificultad podés consultarme nuevamente.

Te recuerdo que debes valorar la respuesta (buena/excelente) para quitarla de mi lista de pendientes.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas