Foros del Web » Soporte técnico » Ofimática »

macro en excell que busque duplicados y añada un si 1 o duplicado en otra celda

Estas en el tema de macro en excell que busque duplicados y añada un si 1 o duplicado en otra celda en el foro de Ofimática en Foros del Web. hola Tengo una tabla de Excel con 20 000 registros y constantemente se añaden mas , cada 15 días hay que buscar los duplicados, tengo ...
  #1 (permalink)  
Antiguo 03/11/2015, 02:39
 
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 22
Antigüedad: 10 años, 9 meses
Puntos: 0
macro en excell que busque duplicados y añada un si 1 o duplicado en otra celda

hola

Tengo una tabla de Excel con 20 000 registros y constantemente se añaden mas , cada 15 días hay que buscar los duplicados, tengo una macro que los marca con color, pero tardo mucho en ver si realmente es un duplicado o no, habría alguna manera de hacer una macro y que los duplicados les añadiera en una celda el valor duplicado?
a b z
1 coche duplicado
2 coche duplicaco
3 moto
4 camión



esta es la macro que tengo pero yo no la hice no se hacerlas


Sub CopiarCelda()

Dim Rango1 As Range
Dim celda1 As Range

Set Rango1 = Range("I1", "I26410")

For Each celda1 In Rango1


If WorksheetFunction.CountIf(Rango1, celda1.Value) > 1 Then
celda1.Interior.ColorIndex = 38

End If

Next celda1

End Sub


¿podrías ayudarme a hacer la macro?
un saludo
gracias
  #2 (permalink)  
Antiguo 03/11/2015, 08:55
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Respuesta: macro en excell que busque duplicados y añada un si 1 o duplicado en otra

Estas en un problema ya que excel no fue diseñado para eso y me sorprende que te levante con esa cantidad de filas.

Si van a seguir metiendo información, te aseguro que dentro de poco, vas a perder todo. Mejor migra a una BD aunque sea el cochino Access que ofrece Micro$oft o algo un poco más robusto y libre como MySQL, MariaDB o PostgreSQL.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #3 (permalink)  
Antiguo 03/11/2015, 09:15
 
Fecha de Ingreso: julio-2013
Ubicación: madrid
Mensajes: 22
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: macro en excell que busque duplicados y añada un si 1 o duplicado en otra

Realmente no trabajo con ella en tiempo real, solo añado los registros nuevos que se producen después de unos días, pero claro hay que mantenerla limpia.
Tengo una tabla de Excel a modo de almacenamiento, y otro donde voy apuntando y después las junto.
También hay peligro que se rompa?
gracias
un saludo
  #4 (permalink)  
Antiguo 03/11/2015, 19:32
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Respuesta: macro en excell que busque duplicados y añada un si 1 o duplicado en otra

Si se rompe la hoja, se rompe todo.

Lo que debes tener muy claro, es que excel es una hoja de cálculo y no una base de datos. La gente le ha dado un muy mal manejo en relación a conceptualizar su uso.

Lo que aguante o no abrir o dañar la hoja, depende del equipo, cantidad de RAM y que tantos programas estén abierto.

Te soy honesto y viendo varios casos en clientes, que lo que tenes, es una bomba de tiempo.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #5 (permalink)  
Antiguo 07/11/2015, 22:42
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
De acuerdo Respuesta: macro en excell que busque duplicados y añada un si 1 o duplicado en otra

Hola! Wily (y Nic)
En tu descripción se advierte que controlas los duplicados sobre la columna B, mientras que en tu macro dicha columna es la I: ¡Supondré esto último!

La siguiente macro la he probado respecto de 130 mil filas de datos y no tarda más de un segundo: ¿La evaluarías?...

Código php:
Ver original
  1. Sub contarCasos()
  2. '------------------
  3. 'by Cacho Rodríguez
  4. '------------------
  5. Dim Mat, Dic, Q&, i&, iniTime!
  6. iniTime = Timer
  7. Mat = Range("I1", Cells(Rows.Count, "I").End(xlUp)): Q = UBound(Mat)
  8. Set Dic = CreateObject("Scripting.Dictionary")
  9. For i = 1 To Q
  10.  Select Case Dic.Exists(Mat(i, 1))
  11.    Case True: Dic(Mat(i, 1)) = 1 + Dic(Mat(i, 1))
  12.    Case False: Dic(Mat(i, 1)) = 1
  13.  End Select
  14. Next
  15. For i = 1 To Q
  16.  Mat(i, 1) = Dic(Mat(i, 1)): Next
  17. Range("Z1").Resize(Q) = Mat
  18. MsgBox "Tiempo de proceso: " & Format(Timer - iniTime, "0.000 seg.")
  19. End
  20. End Sub
  #6 (permalink)  
Antiguo 08/11/2015, 00:18
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Respuesta: macro en excell que busque duplicados y añada un si 1 o duplicado en otra

Que lo pruebe Wily78 quien tiene esa duda. Yo estoy sorprendido que manejes semejante cantidad de filas sin problema.

Además, he visto varias intervenciones tuyas y parece que manejas bastante bien las macros, por lo que se te agradece le ayudes, pero yo soy más del criterio que para cosas grandes, es mejor utilizar algo más seguro.

Saludos.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #7 (permalink)  
Antiguo 08/11/2015, 18:40
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
De acuerdo Respuesta: macro en excell que busque duplicados y añada un si 1 o duplicado en otra

Cita:
Iniciado por BrujoNic Ver Mensaje
Yo estoy sorprendido que manejes semejante cantidad de filas sin problema.
Ocurre, mi estimado, que la cantidad de celdas involucradas (filas por columnas del rango de datos) no es lo importante a considerar.
Lo importante es: ¿Qué otra cosa "tienen" esas celdas además de los datos?...

a) Si sólo son datos entonces el rendimiento del Excel suele ser bastante óptimo hasta -digamos- 2 millones de celdas con datos.

b) Si la hoja presenta formatos (colores, bordes, rellenos): "la cosa" empieza a complicarse y -muchas veces- te "salva" un procesamiento vía macros.

c) Y si la hoja presenta fórmulas (las fórmulas propiamente dichas y las asociadas a los formatos condicionales), una tal cantidad de datos tiende a ser ingobernable (aquí las macros son el último recurso).

En mi experiencia, y recién cuando se dan estas dos últimas circunstancias más un número grande de celdas con datos, es cuando hay que "mirar con cariño" a las bases de datos.
Naturalmente: ¡esto implica un nivel de capacitación mucho mayor!

Te comento que nada hay más gratificante que quien te plantea: - "Mi macro tarda 10 minutos en procesar: ¿Se podrá abreviar de algún modo el proceso?..."
Y que tras 10/15 minutos le entregues una macro que hace lo mismo pero ocupando 20/30 segundos.

Resumiendo:
Como en todos los órdenes de la vida: ¡Hay que saber! (jajajajja ) y los Foros -en ese sentido- pueden darte una buena mano.

Saludos, Cacho R.

P.D. : ¿Wily?... ¿Estás allí?...

Etiquetas: celda, duplicado, duplicados, excel, excell, macro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:07.