Buscar multidatos en hoja de excel

Tengo una columna A y B con datos (20 mil datos) en hoja1. Necesito macro que me busque algunos valores de hoja2 (6000 valores), que estan en hoja1 columna A y me pegue el valor en hoja3, pero su correspondiente a columna B. Ejemplo busca el "3456 que es a96" en columna A y pega su correspondiente b96 en hoja 3.

1 respuesta

Respuesta
1

¿Todos los datos empiezan en la fila 1?

¿En la hoja3 quieres la columna A y B o solamente quieres la columna B o?

Si no encuentra el valor, ¿simplemente qué deje la fila vacía?

Prueba lo siguiente y me comentas, en la hoja3 te pone la columna A y B y los que no encuentra los deja en blanco.

Sub BuscarDatos()
  Dim a As Variant, b As Variant
  Dim dic As Object, i As Long
  '
  Set dic = CreateObject("Scripting.Dictionary")
  a = Sheets("Hoja1").Range("A1:B" & Sheets("Hoja1").Range("A" & Rows.Count).End(3).Row).Value2
  b = Sheets("Hoja2").Range("A1:A" & Sheets("Hoja2").Range("A" & Rows.Count).End(3).Row).Value2
  ReDim c(1 To UBound(b), 1 To 2)
  '
  For i = 1 To UBound(a, 1)
    dic(a(i, 1)) = a(i, 2)
  Next
  '
  For i = 1 To UBound(b, 1)
    c(i, 1) = b(i, 1)
    c(i, 2) = dic(b(i, 1))
  Next
  '
  Sheets("Hoja3"). Range("A1").Resize(UBound(c, 1), 2).Value = c
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas