Macro buscar dato en hoja que cumpla con una condi

Necesito de su colaboración señores expertos...
Necesito crear una macro que busque un dato en una hoja en la columna A en el rango (A2:A65500), al encontrar el dato debe verificar si cumple con una condición en la columna B en la misma fila, de ser así que volvé los datos de toda la fila a otra hoja y sino cumple la segunda condición en la columna B, que siga buscando otra vez el dato en la columna A hasta que la cumpla y termne el bucle.
En espera de su su colaboración...

1 respuesta

Respuesta
1
Te dejo una rutina para esto. Tendrás que ajustar algunos detalles, como ser la ubicación de destino de los datos encontrados.
Sub ComparaXdos()
'x Elsamatilde
Dim fila As Integer, col As Integer
'ajustar ubicación de los datos a buscar
dato = ActiveSheet.Range("A2")
dato2 = ActiveSheet.Range("B2")

'ajustar fila y hoja donde se copiarán los datos encontrados
fila = 5
'busco dato en Hoja1, col A
Set busco = Sheets("Hoja1").Range("A2:A65500").Find(dato, LookIn:=xlValues, lookat:=xlWhole)
'si lo encontró evalúa si también coincide el 2do criterio, en ese caso copia la fila en Hoja2
If Not busco Is Nothing Then
    If busco.Offset(0, 1) = dato2 Then
        busco.EntireRow.Copy Destination:=Sheets("Hoja2").Cells(fila, 1)
        Exit Sub
    End If
    'debo repetir la búsqueda
    fila1 = busco.Row
    Do
    Set busco = Sheets("Hoja1").Range("A2:A65500").FindNext(busco)
        If busco.Offset(0, 1) = dato2 Then
        busco.EntireRow.Copy Destination:=Sheets("Hoja2").Cells(fila, 1)
        Exit Do
        End If
    Loop While Not busco Is Nothing And busco.Row <> fila1
End If
End Sub
Copiála en un módulo, ajustá tus referencias y pruébala. Si te presenta algún error, escribime nuevamente con tu rutina e indicando la fila del error, además de aclarar todas las referencias que faltan en esta consulta.
Buenas Noches Estimada Doctora...
La verdad su respuesta fue excelente, ademas que ya tenia algo extraído de sus valiosos manuales y me fue más fácil ajustar... sim embargo solo le tengo por pedir una aclaración...
Cual es la diferencia al guarda en una variable la sentencia ejemplo: busco.row o si es busco.address
En espera de su valioso aporte..
Lucas..
Busco. Row te devuelve la fila del dato encontrado, busco. Address te devuelve la dirección.
En una búsqueda de vs.col tendrás que guardar la dirección, pero tratándose de una búsqueda en 1 sola col, alcanza con la fila.
Sdos
Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas