Localizar números que se repiten, anotarlos e indicar en que filas están

Tengo una serie de números en la columna “A” (A1:A500).

A veces un número de la columna “A” se repite una o varias veces a lo largo de la columna.

Necesito una macro para que recorra la columna “A” de arriba abajo y cuando encuentre un numero repetido lo escriba en la columna “C”, en la columna ”D” escriba el número de fila en la que estaba por primera vez y en la columna “E” y sucesivas, el número de fila en la que se vaya repitiendo.

Quizá con un ejemplo se vea más claro:

1 respuesta

Respuesta
1

Esta es mi propuesta de solución

Private Sub CommandButton1_Click()
Dim fila, c, final, colum, filac, finalc As Integer
Dim registro As Integer
fila = 1
Do While Hoja1.Cells(fila, 1) <> ""
    fila = fila + 1
Loop
final = fila - 1
c = 3
For fila = 1 To final
    registro = WorksheetFunction.CountIf(Hoja1.Range(Hoja1.Cells(1, 1), Hoja1.Cells(fila, 1)), Hoja1.Cells(fila, 1))
    If registro = 1 Then
    Hoja1.Cells(c, 3) = Hoja1.Cells(fila, 1)
    c = c + 1
    End If
Next
filac = 3
Do While Hoja1.Cells(filac, 3) <> ""
    filac = filac + 1
Loop
finalc = filac - 1
For filac = 3 To finalc
colum = 4
    For fila = 1 To final
        If Hoja1.Cells(fila, 1) = Hoja1.Cells(filac, 3) Then
        Hoja1.Cells(filac, colum) = Hoja1.Cells(fila, 1).Row
        colum = colum + 1
        End If
    Next
Next
End Sub

no olvides valorar si te sirve

Gracias Joseph Sanchez, he probado la macro y funciona bien. Hace lo que yo necesito pero me confunde un poco el hecho de que también me pone en la columna "C" números que no se han repetido.

Quizá me expliqué mal en la pregunta.

Te envío un "pantallazo" con lo que he obtenido al probarla para que veas lo que digo:

Los números (5,4,1,2,69,47,22,10) no deben ir a la columna "C" pues no se han repetido.

En cualquier caso gracias por tu atención y tu tiempo.

Cambia esta línea

If registro = 1 Then

por esto

If registro = 2 Then

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas