Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Excel VBA elementos repetidos

Estas en el tema de Excel VBA elementos repetidos en el foro de Visual Basic clásico en Foros del Web. Necesito recorrer una columna (supongamos A) con celdas en blanco incluídas y que en la columna B me coloque el nombre del elemento y en ...
  #1 (permalink)  
Antiguo 22/12/2009, 04:31
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 6 meses
Puntos: 1
Excel VBA elementos repetidos

Necesito recorrer una columna (supongamos A) con celdas en blanco incluídas y que en la columna B me coloque el nombre del elemento y en la columna C las veces que se repite. Estoy tratando de hacerlo con un array pero no me sale. Gs. por la ayuda
__________________
When all else is lost the future still remains.
  #2 (permalink)  
Antiguo 22/12/2009, 06:59
 
Fecha de Ingreso: enero-2007
Ubicación: 9 de julio
Mensajes: 111
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: Excel VBA elementos repetidos

Hola, mira lo que yo haria seria recorrer la columa a con un for y, si no esta vacia, en la columna C pondria un ContarSi de el valor de la celda actual de A en toda la columna A y en la celda de la columna B pondria el valor de la Celda de la columna A.

Ahora, pareceria que lo que queres hacer es contar en un rango de datos, cuantas veces esta cada uno de esos datos. No te conviene hacerlo con una tabla dinamica ? (agrupando por el dato de Columna A y contar de Columna A)
  #3 (permalink)  
Antiguo 26/12/2009, 16:30
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 6 meses
Puntos: 1
Respuesta: Excel VBA elementos repetidos

Me perdí.
__________________
When all else is lost the future still remains.
  #4 (permalink)  
Antiguo 26/12/2009, 17:22
 
Fecha de Ingreso: enero-2007
Ubicación: 9 de julio
Mensajes: 111
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: Excel VBA elementos repetidos

Concretamente lo que queres hacer es saber, en un rango de celdas, que datos se repiten y cuantas veces, no ?

Si es eso lo que queres hacer, yo lo haria con una tabla dinamica (esta herramienta te permite hacer eso y es mucho mas rapida / performante que recorrer, etc) .

Sino pasa tu codigo y lo veo.
  #5 (permalink)  
Antiguo 28/12/2009, 08:55
Avatar de cmarti  
Fecha de Ingreso: noviembre-2003
Ubicación: Buenos Aires - Argentina
Mensajes: 442
Antigüedad: 20 años, 6 meses
Puntos: 1
Respuesta: Excel VBA elementos repetidos

Voy a ser un poquito egoísta si me lo permiten. Por lo gral, cuando uno "pide" o pregunta como hacer una cosa, más espera un código que sugerencias. No puedo dejar de agradecer ambas pero para ser más realistas el código es lo que más pronto a uno lo saca del paso. Es por eso que posteé en Visual Basic y no en Aplicaciones (Excel) sin embargo, en un intento de demostrar mi agradecimiento por el interés de c/u de Uds. les transcribo el código de un amigo que me sirvió para mi cometido el cual por cierto es saber cuantas veces se repite un item en la columna A devolviendo esa información en la columna B y C. En B el nombre del item que se repite y en C las veces que se repite.

Aquí el código (Nota) la columna A DEBE TENER UN TITULO SI O SI.
Código PHP:
Sub Prueba()
    
With Range("A1"Range("A" Rows.Count).End(xlUp))
        
uf = .Rows.Count
        
.AdvancedFilter 2, , Range("B1"), 1
    End With
    With Range
("B2"Range("B" Rows.Count).End(xlUp))
        
On Error Resume Next
        
.SpecialCells(4).Delete
        With 
.Offset(, 1)
            .
Formula "=COUNTIF(R2C1:R" uf "C1,RC[-1])"
            
.Value = .Value
        End With
    End With
End Sub 
Muchas gracias a todos. Espero le sirva a alguien más.
__________________
When all else is lost the future still remains.
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 06:26.