BuscarV valores repetidos

Necesito que me ayuden a resolver este problema.

Tengo 2 libros de trabajo. En uno de ellos es donde tengo la informacion Libro 1 con las siguientes columnas:

Columna A    Columna B     

100                Junio

201                Junio

100                Julio

201                Julio

En el libro 2, quiero que me localice los valores de la columna A y me de los resultados de la columna B que le corresponda.

Son libros que contienen alrededor de 200000 filas.

Ruego, responsan a la mayor brevedad posible. Es urgente.

3 Respuestas

Respuesta
1

Te podría dar una posible solución, ya que con la función buscarv siempre te muestra el resultado del primer dato que es igual.

La opción que te podría dar es concatenar el numero que se repite con la posición. Por ejemplo si existen dos veces "100" seria "1001" y "1002". Eso lo harías en cada hoja.

Te envío la captura de dos imágenes para que te guíes.

Hoja de datos a buscar:

Hoja donde se realizara la busqueda.

En la columna "D" realizas la busqueda tomando como valor la columna A

=BUSCARV(A3,Fuente!$A$3:$C$6,3,0)
Respuesta
2

Si lo que necesitas es algo como se observa en las imágenes, donde en Libro 2 solicitas un nro y que te devuelva todas las apariciones de ese registro, entonces entra al Editor, inserta un módulo y copia el código que dejo a continuación.

Solo debes ajustar las referencias que asumí como A y B de fila 1 y el nombre del Libro1 que debe estar abierto al momento de ejecutar esta macro.

Sub busquedaRepetidos()
'x Elsamatilde
'busca el valor de A1 en todas las apariciones en hoja1 de Libro 1
dato = Range("A1")
'indico la 1er celda donde espero el resultado
Range("B1").Select
Set busco = Workbooks("Libro1.xlsx").Sheets(1).Range("A:A").Find(dato, LookIn:=xlValues, lookat:=xlWhole)
If busco Is Nothing Then MsgBox "Dato no encontrado": Exit Sub
'guardo la 1er fila encontrada
filx = busco.Row
'inicio un bucle
Do
'paso el dato de la col B a la celda activa
ActiveCell.Value = busco.Offset(0, 1)
'paso a la fila sgte
ActiveCell.Offset(1, 0).Select
'repito la búsqueda
Set busco = Workbooks("Libro1.xlsx").Sheets(1).Range("A:A").FindNext(busco)
Loop While Not busco Is Nothing And busco.Row <> filx
MsgBox "Fin de la búsqueda"
End Sub

Si esto resuelve tu consulta no olvides valorarla y finalizarla.

Sdos

Elsa

Más ejemplos en la sección Ejemplos de mi sitio.

Respuesta

No entendí que tienes en el libro2 y tampoco entendí qué vas a buscar y qué valor quieres como resultado y en dónde quieres poner el resultado.

Podrías poner un ejemplo de lo que tienes en el libro2, pon los datos tal y como los tienes y luego pones el mismo ejemplo del libro2 pero con los resultados que esperas, para que sea más claro, debes utilizar los mismos ejemplos que pusiste del libro1.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas