Quitar datos duplicados

11/01/2004 - 05:01 por Alex | Informe spam
Hola; tengo una lista en la columna A de categorias y en
la columna B la cantidad de cada categoria. Las categorias
estan duplicadas por lo que necesito una macro que sume
las cantidades de las categorias duplicadas y elimine
estos duplicados. Alguien Žsabe como puede hacerse esto?

Gracias.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
11/01/2004 - 06:39 | Informe spam
hola, Alex !

... lista ... columna A de categorias y ... columna B la cantidad de cada categoria. ... categorias ... duplicadas [...]
... necesito una macro que sume las cantidades de las categorias duplicadas y elimine estos duplicados [...]



la siguiente rutina [teniendo seleccionada alguna celda 'dentro' del rango 'Ax:Bz']
1.- ['necesariamente'] ordena en base a las categorias
2.- selecciona la primer celda del rango [¿a?]
3.- 'acumula' en la siguiente columna [¿b?] el valor de la siguiente 'categoria' ['b_siguiente'] =>si 'misma' categoria]
3.- 'elimina' la categoria 'acumulada' y 'repite el bucle' -o- 'baja' a la siiguiente categoria e 'inicia' un nuevo bucle
[modifica lo que sea 'necesario'] :))
______
Sub Acumular_Categorias()
ActiveCell.CurrentRegion.Select
Selection.Cells(1, 1).Activate
Selection.Sort Key1:=ActiveCell
ActiveCell.Select
Do
If ActiveCell = ActiveCell.Offset(1) Then
ActiveCell.Offset(, 1) = ActiveCell.Offset(, 1) + ActiveCell.Offset(1, 1)
ActiveCell.Offset(1).EntireRow.Delete
Else
ActiveCell.Offset(1).Select
End If
Loop Until ActiveCell = ""
End Sub
¨¨¨¨¨¨¨¨¨¨¨¨¨¨
saludos,
hector.

p.d. si NO deseas eliminar la fila COMPLETA... 'cambia' la linea 'correspondiente'...
de =>ActiveCell.Offset(1).EntireRow.Delete< a =>Range(ActiveCell.Offset(1), ActiveCell.Offset(1, 1)).Delete<
Respuesta Responder a este mensaje
#2 keseto
14/01/2004 - 12:55 | Informe spam
Hola Hector,

Se que a mi nadie me había dado vela en este entierro,
pero pasaba por aquí, he visto la solución que le has
dado al compañero, y resulta que yo necesitaba algo
similar. He cambiado algunas cosas de tu rutina, para que
hiciera lo que yo necesitaba, y me ha ido genial.

Se que este mensaje no aporta nada nuevo, pero era
simplemente por agradecer el esfuerzo de gente como tu
que ayudais a los que aun no lo sabemos todo... ;)

Gracias de nuevo,

JORDI


hola, Alex !

... lista ... columna A de categorias y ... columna B




la cantidad de cada categoria. ... categorias ...
duplicadas [...]
... necesito una macro que sume las cantidades de las




categorias duplicadas y elimine estos duplicados [...]

la siguiente rutina [teniendo seleccionada alguna


celda 'dentro' del rango 'Ax:Bz']
1.- ['necesariamente'] ordena en base a las categorias
2.- selecciona la primer celda del rango [¿a?]
3.- 'acumula' en la siguiente columna [¿b?] el valor de


la siguiente 'categoria' ['b_siguiente'] =>si 'misma'
categoria]
3.- 'elimina' la categoria 'acumulada' y 'repite el


bucle' -o- 'baja' a la siiguiente categoria
e 'inicia' un nuevo bucle
[modifica lo que sea 'necesario'] :))
______
Sub Acumular_Categorias()
ActiveCell.CurrentRegion.Select
Selection.Cells(1, 1).Activate
Selection.Sort Key1:=ActiveCell
ActiveCell.Select
Do
If ActiveCell = ActiveCell.Offset(1) Then
ActiveCell.Offset(, 1) = ActiveCell.Offset(, 1) +


ActiveCell.Offset(1, 1)
ActiveCell.Offset(1).EntireRow.Delete
Else
ActiveCell.Offset(1).Select
End If
Loop Until ActiveCell = ""
End Sub
šššššššššššššš
saludos,
hector.

p.d. si NO deseas eliminar la fila COMPLETA... 'cambia'


la linea 'correspondiente'...
de =>ActiveCell.Offset(1).EntireRow.Delete<> a =>Range(ActiveCell.Offset(1), ActiveCell.Offset(1,


1)).Delete<>

.

Respuesta Responder a este mensaje
#3 Héctor Miguel
14/01/2004 - 17:57 | Informe spam
hola, jordi !

... pasaba por aqui ... necesitaba algo similar. He cambiado algunas cosas ... y me ha ido genial.



'esa' es la parte genial de estos foros... => ¡ de todos... para todos !!! <= :))

... este mensaje no aporta nada nuevo ... simplemente por agradecer el esfuerzo de gente ... que ayudais [...]



SI hay 'algo nuevo' [que pocas veces 'se da'] ... [y creo que NO 'requiere' mas comentarios]

Gracias a ti, y a todos los que 'responden' con un 'feed-back' [cuando una propuesta ha podido ser de utilidad]

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida