Cruzar columnas y extraer los que se repiten

Hola, espero puedan ayudarme, mi problema es el siguiente: Tengo tres columnas A, B y C cada una de ella tienen cincuenta filas con dominios Ej. ABC 000; XYZ 012; CTR 999... Yo necesito cruzarlas entre si y que me devuelvan las datos que se repiten entre cada columna.
En resumen necesito sacar los valores que se repiten entre las tres columnas, osea las 50 celdas que contiene mi columna A si se repiten en lo largo de la 50 celdas de la columna B y C. Como también las 50 celdas que contiene mi columna B si tienen repetición con A y C . Y lo mismo con la columna C ( LO ÚNICO QUE TIENEN QUE TIENE EN CUENTA ES QUE NO SE REPITE NINGÚN DATO EN LA MISMA COLUMNA Ej. Si en la columna A tengo la Patente AAA 000 esta no se va a repetir nunca en la misma columna A).
Espero ser un poco más explicito por que no se realmente como sacar esto adelante, pido disculpas por mi ignorancia en el tema.

1 Respuesta

Respuesta
1
Si pegas el siguiente código en el módulo de la hoja (pulsación con el botón derecho sobre su etiqueta->Ver código), se mostrarán en amarillo las celdas de las columnas que tengan el mismo valor en el rango A1:C50
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Me.[A1:C50].Interior.Color = xlNone
    If Target.Cells.Count > 1 Then Exit Sub
    If Intersect(Target, Me.[A1:C50]) Is Nothing Or Target.Value = "" Then Exit Sub
    Me.[A1:C50].Interior.Color = xlNone
    Dim n As Byte
    If Target.Column = 1 Then
        For n = 1 To 50
            If Me.Cells(n, 2).Value = Target.Value Then
                Me.Cells(n, 2).Interior.Color = 65535
            End If
        Next n
        For n = 1 To 50
            If Me.Cells(n, 3).Value = Target.Value Then
                Me.Cells(n, 3).Interior.Color = 65535
            End If
        Next n
    ElseIf Target.Column = 2 Then
        For n = 1 To 50
            If Me.Cells(n, 1).Value = Target.Value Then
                Me.Cells(n, 1).Interior.Color = 65535
            End If
        Next n
        For n = 1 To 50
            If Me.Cells(n, 3).Value = Target.Value Then
                Me.Cells(n, 3).Interior.Color = 65535
            End If
        Next n
    Else
        For n = 1 To 50
            If Me.Cells(n, 1).Value = Target.Value Then
                Me.Cells(n, 1).Interior.Color = 65535
            End If
        Next n
        For n = 1 To 50
            If Me.Cells(n, 2).Value = Target.Value Then
                Me.Cells(n, 2).Interior.Color = 65535
            End If
        Next n
    End If
End Sub
Ante nada muchas gracias, parece que esta fuera una solución a mi problema por lo que llego a entender, el problema es que no llego a comprender bien tu exolicacion, ¿insisto con pedir disculpas por mi ignorancia pero si podes me explicarías un poco más claro?
El código hay que copiarlo en el módulo de la hoja. He subido un ejemplo con el código funcionando a www.jrgc.es/ejemplos/ejemplo_20101022a.xls

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas