Buscar multidatos (1.000.000) en hoja de excel

Tengo una columna (A y B),(CyD),(EyF)... Etc. Con 100.000 datos cada columna (en total 1.000.000 de datos) en hoja1. Necesito macro que me busque algunos valores de hoja2 (15.000 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
2

Puedes ser más específico.

Hoja1

- En cuál fila empiezan lo datos.

Hoja2

- En cuál columna están lo datos.

- En cuál fila empiezan.

Hoja3

- Qué datos quieres pegar en la hoja3.

- En cuál columna quiere pegar y en cuál fila deben iniciar.


El dato de la hoja2, ¿solamente se debe buscar en la columna A de la hoja1? ¿Entonces para qué son las otras columnas de la hoja1?


Nota: Una cosa que debes tener en cuenta cuando haces una pregunta en un foro ... las personas a las que solicitas ayuda no saben absolutamente nada acerca de tus datos, absolutamente nada sobre cómo están en el libro de trabajo, absolutamente nada sobre lo que tú quieres que se haga con él y absolutamente nada sobre cómo quieres el resultado ... debes ser muy específico al describir cada una de estas áreas, en detalle, y no debes suponer que seremos capaces de "resolverlo" por nuestra cuenta. Recuerda, nos estás pidiendo ayuda ... así que ayúdanos, brindando la información que necesitamos para hacerlo, incluso si esa información te parece "obvia" (recuerda, sólo es obvia para ti porque estás familiarizado con tus datos, su diseño y el objetivo general para ellos).

Ok.. En hoja 1 ;A1;B1, están los datos desde 0 a 100 mil datos con su correspondiente numero en B. lo mismo seria para C1;D1 hasta completar 1 millón de datos. En la hoja 2, están los 15 mil datos a buscar y en la hoja 3, están los resultados .. los 15 mil datos con su correspondiente resultado.Te envío captura de pantalla y mi excel esta en ingles .. gracias ... en la hoja hoja1, solo hay 2 columnas, faltan 10 más para completar 1 millón de datos o si tienes una sugerencia distinta te lo agradecería ...

Sería fabuloso si en tus imágenes pusieras un ejemplo completo.

Pero en la "sheet1" no existe ninguno de tus datos que están en la "sheet2".

También sería fabuloso si pusieras valores en las columnas C y D.

Como te comenté en mi nota:

Recuerda, nos estás pidiendo ayuda ... así que ayúdanos, brindando la información que necesitamos para hacerlo, incluso si esa información te parece "obvia"


Voy a tratar de entender lo que necesitas...

Como no sé qué tienes en las columnas C y D y tampoco tu explicación es clara de lo que quieres hacer con esas columnas, ni tampoco las pusiste en el resultado. ENTONCES, la macro solamente va a trabajar con la columna A de la hoja "Sheet1".

La siguiente macro lee los valores de la Sheet2 y los busca solamente en la columna A de la Sheet1.

Sub Buscar_Multidatos()
  Dim a As Variant, b As Variant, c As Variant
  Dim dic As Object
  Dim i As Long, j As Long
  '
  Set dic = CreateObject("Scripting.Dictionary")
  '
  a = Sheets("Sheet1").Range("A1", Sheets("Sheet1").Range("B" & Rows.Count).End(3)).Value
  b = Sheets("Sheet2").Range("A1", Sheets("Sheet2").Range("A" & Rows.Count).End(3)).Value
  ReDim c(1 To UBound(b, 1), 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)
    If dic.exists(b(i, 1)) Then
      c(i, 1) = b(i, 1)
      c(i, 2) = dic(b(i, 1))
    End If
  Next
  '
  With Sheets("Sheet3")
    .Cells.Clear
    .Range("A1").Resize(UBound(c, 1), 2).Value = c
  End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas