Buscar Datos Duplicados en tres(03) Columnas
Sres. T.E.
Favor hacerme llegar una Macro que detecte la data duplicada en tres columnas, ejemplo gráfico a continuación:
Column A Column B Column C
Data 01 Data 20 Data 30
Data 02 Data 21 Data 31
Data 03 Data 03 Data 03
Data 04 Data 23 Data 33
Data 05 Data 24 Data 34
Data 03 Data 03 Data 03 Duplicado
Data 07 Data 26 Data 36
Data 08 Data 27 Data 37
Data 09 Data 28 Data 38
Data 10 Data 29 Data 39
Data 03 Data 03 Data 03 Duplicado
Data 12 Data 31 Data 41
Data 13 Data 32 Data 42
Data 14 Data 33 Data 43
Como pueden observar la Data 03 es Duplicada y que solo que muestre un Mensaje de Duplicidad.
Nota: Esto en Excel 2003
1 Respuesta

H o l a:
Podrías aclararme lo siguiente.
¿Según tu ejemplo la "Data 03" está duplicada por que aparece en las 3 columnas?
¿O por qué aparece en diferentes filas?

Si lo que buscas es que el dato está repetido en las 3 columnas, utiliza esta macro:
Sub Repetidos() 'Por.Dante Amor With Range("D1:D" & Range("A" & Rows.Count).End(xlUp).Row) .FormulaR1C1 = "=IF(AND(RC[-3]=RC[-2],RC[-2]=RC[-1]),""Duplicado"","""")" .Value = .Value End With End Sub
‘ S a l u d o s . D a n t e A m o r Si es lo que necesitas. Recuerda valorar la respuesta. G r a c i a s.

Estimado no dejes respuestas sin valorar. Al final de mi respuesta están las opciones para valoras. Sal u dos

Hola.
En realidad el código enviado funciona, pero se me paso por alto Solicitarle que muestre el Valor o la Dirección (Address) de la Data Duplicada done se encuentra.
Sub Repetidos() 'Por.Dante Amor With Range("D1:D" & Range("A" & Rows.Count).End(xlUp).Row) .FormulaR1C1 = "=IF(AND(RC[-3]=RC[-2],RC[-2]=RC[-1]),""Duplicado"","""")" .Value = .Value End With End Sub

A qué te refieres con que "muestre el Valor o la Dirección"
Puedes poner un ejemplo.
Antes de continuar con las nuevas peticiones, podrías valorar la respuesta.

Hola.
Ejemplo Solicitado:
Column A Column B Column C
1 Data 01 Data 20 Data 30
2 Data 02 Data 21 Data 31
3 Data 03 Data 03 Data 03
4 Data 04 Data 23 Data 33
5 Data 05 Data 24 Data 34
6 Data 03 Data 03 Data 03 Duplicado
7 Data 07 Data 26 Data 36
8 Data 08 Data 27 Data 37
9 Data 09 Data 28 Data 38
10 Data 10 Data 29 Data 39
Come se puede observar la Duplicidad se encuentra en
en la Fila 6 Columna 1, 2 y 3.
Lo que necesito es que muestre el mensaje (Msgbox) :
"La Data 03 se encuentra en la celda: &A&7 "
Saludos

H o l a:
Todavía tengo dudas para saber cuándo es un registro duplicado.
Entiendo perfectamente tu ejemplo tienes el 03 en las celdas A3, B3, C3, A6, B6, C6.
Mi duda es, ¿cuándo es un duplicado? ¿Cuándo el número se repite 6 veces?
Qué pasa si tengo esto en la fila 3:
01 11 21
Y esto en la fila 6
01 11 21
¿Es un duplicado?
O qué pasa si tengo esto:
03 04 05
03 06 07
El 03 se repite en una fila y en otra fila, ¿es duplicado?
Tienes que explicarme cuáles son los motivos por los que un registro es duplicado.
Y si existen 10 duplicados, quieres que te aparezcan 10 mensajes, ¿un mensaje por cada duplicado o un 1 mensaje con las 10 celdas duplicadas?
E spero tus comentarios.

Hola.
La idea es cuando se trate de introducir una data que anteriormente ha sido registrada me muestre un mensaje "Msgbox" que la data existe y a vez la dirección donde se encuentra "Address"
Como puedes observar la Fila 3, Columna A, B y C el Valor de la data es "Data 3" y en la Fila 6 Contiene el mismo Valor.
Column A Column B Column C
3 Data 03 Data 03 Data 03
6 Data 03 Data 03 Data 03 Duplicado
Tu Consulta:
Qué pasa si tengo esto en la fila 3:
01 11 21
Y esto en la fila 6
01 11 21
¿Es un duplicado?
O qué pasa si tengo esto:
03 04 05
03 06 07
El 03 se repite en una fila y en otra fila, ¿es duplicado?
Ninguno de los casos es Duplicado.

Me puedes confirmar esto:
Mi duda es, ¿cuándo es un duplicado? ¿Cuándo el número se repite 6 veces?, es decir, cuando la data aparece 3 veces en una fila y vuelve aparecer 3 veces en otra fila.

Me puedes confirmar esto:
Mi duda es, ¿cuándo es un duplicado? ¿Cuándo el número se repite 6 veces?, es decir, cuando la data aparece 3 veces en una fila y vuelve aparecer 3 veces en otra fila.
Es correcto.

Falta lo más importante, el mensaje, cómo lo vas a querer:
Y si existen 10 duplicados, quieres que te aparezcan 10 mensajes, ¿un mensaje por cada duplicado o un 1 mensaje con las 10 celdas duplicadas separadas por un espacio?

Falta lo más importante, el mensaje, cómo lo vas a querer:
Y si existen 10 duplicados, quieres que te aparezcan 10 mensajes, ¿un mensaje por cada duplicado o un 1 mensaje con las 10 celdas duplicadas separadas por un espacio?
No, la idea es que no se permita entrar otra data igual.

Pon la siguiente macro en los eventos de tu hoja
Private Sub Worksheet_Change(ByVal Target As Range) 'Por.Dante Amor 'Revisar duplicados de fila en las columnas ABC If Target.Count > 30 Then Exit Sub If Not Intersect(Target, Range("A:C")) Is Nothing Then For Each c In Target.Rows If Cells(c.Row, "A") = "" Or Cells(c.Row, "B") = "" Or _ Cells(c.Row, "C") = "" Then Exit Sub ' If Cells(c.Row, "A") = Cells(c.Row, "B") And _ Cells(c.Row, "A") = Cells(c.Row, "C") Then Set r = Columns("A") Set b = r.Find(c.Value, lookat:=xlWhole) If Not b Is Nothing Then ncell = b.Address Do 'detalle If b.Row <> c.Row Then If Cells(b.Row, "B") = Cells(c.Row, "B") And _ Cells(b.Row, "C") = Cells(c.Row, "C") Then MsgBox "El dato está duplicado y no se puede ingresar", vbCritical, "ERROR" Application.EnableEvents = False Range(Cells(c.Row, "A"), Cells(c.Row, "C")).ClearContents Application.EnableEvents = True Exit Do End If End If Set b = r.FindNext(b) Loop While Not b Is Nothing And b.Address <> ncell End If End If Next End If End Sub
Sigue las Instrucciones para poner la macro en los eventos de worksheet
- Abre tu libro de excel
- Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
- Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
- Del lado derecho copia la macro
Ahora sí, escribe los valores en las columnas A, B y C, la macro revisará en automático si existe duplicado.
sal u dos
- Compartir respuesta
