Excel - Eliminar registro duplicados por macro

 
Vista:
sin imagen de perfil

Eliminar registro duplicados por macro

Publicado por Jonathan (1 intervención) el 03/08/2017 18:24:07
Buen día,

Amigos tengo una tarea, tengo un excel de un poco mas de 34000 los registros tiene un código único que los identifica pero este codigo se puede duplicar hasta 7 veces, resulta que cada duplicado en una celda tiene una fecha que para cada registro es diferente, ejemplo:


Captura

lo que necesito es una macro que me elimine los registro que se repiten pero me conserve el que tenga fecha mas reciente.

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Eliminar registro duplicados por macro

Publicado por JuanC (1237 intervenciones) el 05/08/2017 13:50:27
mediante una consulta SQL podría hacerse, pero es imposible sin datos...
te dejo una guía para que investigues...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
'//Use reference: Microsoft ActiveX Data Objects 2.0 Library
 
Public Sub reg_repetidos()
Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset
Dim sSql$
 
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
         "Data Source=" & ActiveWorkbook.FullName & ";" & _
         "Extended Properties=Excel 12.0"
 
sSql = "SELECT fecha, id_lote, COUNT(*) AS total " & _
       "FROM [Hoja1$] " & _
       "GROUP BY fecha, id_lote " & _
       "HAVING COUNT(*) > 1"
 
rs.Open sSql, con, adOpenStatic
 
Hoja2.Cells.Clear
Hoja2.Range("B2").CopyFromRecordset rs
 
rs.Close
con.Close
 
Set rs = Nothing
Set rs2 = Nothing
Set con = Nothing
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar