Encontrar registros que se repitan, en una y en varias hojas

Quisiera saber si se puede realizar en Excel lo siguiente. Tengo una base de datos en los cuales los registros se pueden repetir una a varias veces. Debo registrar estos registros (valga la redundancia) mensualmente en hojas separadas. Entonces necesito crear una hoja de búsqueda en la cual busque por ejemplo por número de identificación y me devuelva el o los registros en que aparece esa identificación o su ubicación. Es decir, si digo el número 0123456789 me indique que ese registro se encuentra en la hoja1 (que se llama enero y se repite 2 veces). Si lo hago con buscarv o buscar solo me asigna el primer valor de la búsqueda hoja1 por ejemplo y no si se repite también en la hija 2 o 3, etc.

1 respuesta

Respuesta
1

Te anexo la macro que busca un número de identificación, te dice como se llama, en que hoja está, en qué renglón está y el número de veces que aparece.

Lo que debes hacer es, en el mismo libro de excel, crear una hoja con el nombre de Buscador, en la línea 1 tienes que poner los siguientes Nombres, en A1 HOJAS, en B1 NUM IDENTIFICACIÓN, en C1 NOMBRE, en D1 HOJA, en E1 LINEA, en F1 VECES

Lo siguiente es: en la columna A (HOJAS), tienes que poner la lista de las hojas en las que quieres que se haga la búsqueda, por ejemplo:

Hoja1

Hoja2

Hoja4

NOTA: los números tienen que estar en la columna A y el nombre en la columna B, en cada una de las hojas.

Por último crea una macro y le pegas lo siguiente:

Sub buscadup()

' Macro grabada el 21/09/2012 por Dam
Dim Val As String
Val = InputBox("Número de identifiación")
Sheets("Buscador").Select
Range("B2", "F10000").ClearContents
Range("A1").Select
i = 2
k = 2
j = 1
veces = 0
Range("B2") = Val
Do Until Cells(i, 1) = ""
hoja = Cells(i, 1)
Sheets(hoja).Select
Do Until Cells(j, 1) = ""
Sheets(hoja).Select
If Cells(j, 1) = Val Then
Cells(j, 2).Copy
Sheets("Buscador").Select
Cells(k, 3).Select
ActiveSheet.Paste
Cells(k, 4) = hoja
Cells(k, 5) = j
k = k + 1
veces = veces + 1
End If
j = j + 1
Sheets(hoja).Select
Loop
j = 1
Sheets("Buscador").Select
i = i + 1
Cells(i, 1).Select
Loop
Range("F2") = veces
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas