Excel - REGISTROS QUE NO SE REPITAN , PERO SI SE SUMEN

   
Vista:

REGISTROS QUE NO SE REPITAN , PERO SI SE SUMEN

Publicado por JUAN ZARATE O (10 intervenciones) el 26/03/2008 02:34:24
Hola Amigos espero su ayuda ,tengo una macro(EXCEL) que desea que las cantidades se sumen siempre en cuando el codigo y descripción del producto sea el mismo voy a tratar de ser mas explicito
Tengo un listado con código descripción y cantidad la idea es que el codigo , la descripción no se repita pero si se sumen las cantidades .
Si el codigo no se repite que quede asi como esta en el listado
mi tabla es el siguiente:

HOJA (“CD-200”)

A----------------B---------------------C
1--CODIGO---DESCRIPCION---CANTIDAD
2---411024-------yog. frutilla-------------120
3---411024-------yog. frutilla -------------50
4---411024-------yog. frutilla -------------111
5---411011-------yog chirimoya----------120
6---411013-------yog frambuesa-----------114
7---411014-------yog. natural -------------111
8---411016-------yog vainilla---------------120
9---410038-------yog diet coco R.---------114

este listado lo traje desde otra HOJA(“CD-200”)
a travez de un combobox con el siguiente codigo
me falta otro codigo para que los codigos no se repitan pero si se sumen.

Private Sub ComboBox1_change()
Dim filaB As Long, fila2 As Long, fila1 As Long, filaA As Long
Dim filaC As Long
Worksheets("PICKING-ORDENES").Range("B4:H500").Value = Empty
Worksheets("PICKING-ORDENES").Activate
Worksheets("PICKING-ORDENES").Range("B2:H50").Select
filaB = 2
While Worksheets("CD-200").Cells(filaB, 1).Value <> ""
filaB = filaB + 1
Wend
fila1 = 1
filaA = 5
For fila2 = 2 To filaB
'For fila1 = 1 To ComboBox1.ListCount - 1

If ComboBox1.ListIndex > 0 Then
If ComboBox1.Text = Worksheets("CD-200").Cells(fila2, 1).Value Then

Cells(4, 2).Value = Worksheets("CD-200").Cells(fila2, 1).Value 'RUTA
Cells(filaA, 2).Value = Worksheets("CD-200").Cells(fila2, 16).Value 'CODIGO
Cells(filaA, 6).Value = Worksheets("CD-200").Cells(fila2, 17).Value ''CANTIDAD
Cells(filaA, 3).Value = Worksheets("CD-200").Cells(fila2, 21).Value 'PRODUCTO
Cells(filaA, 7).Value = Worksheets("CD-200").Cells(fila2, 20).Value 'KILOS
Cells(filaA, 6).Value = Cells(filaA, 6).Value + Worksheets("CD-200").Cells(fila2, 17).Value
Cells(filaA, 7).Value = Cells(filaA, 7).Value + Worksheets("CD-200").Cells(fila2, 20).Value
filaA = filaA + 1

End If
End If
Next fila2
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim filaB As Long, fila2 As Long
filaB = 2
While Worksheets("CD-200").Cells(filaB, 1).Value <> ""
filaB = filaB + 1
Wend

For fila2 = 2 To filaB
ComboBox1.AddItem Worksheets("CD-200").Cells(fila2, 1).Value

Next fila2
End Sub

Atte.

Juan Zarate O
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

RE:REGISTROS QUE NO SE REPITAN , PERO SI SE SUMEN

Publicado por Abraham Valencia (2418 intervenciones) el 26/03/2008 17:02:23
Primeor que nada, no es necesario enviar la misma pregunta mas d euna vez.

Segundo, ya te dieron una buena solucion, usar SUBTOTALES, yo te recomiendo usar Tablas dinamicas.

Si insistes en hacerlo a traves de macros, pues, las opciones son:

1- Usar ADO o DAO e instrucciones SQL para realizar la suma de "registros" iguales. Claro que tienes que saber "algo" de conexiones a bases de datos, "algo" de lenguaje SQL y "algo mas" de VBA

2- Usar ARRAY que te permitan una cantidad de variables que vayan sumando cada codigo igual y almacendado dichos valores; eso, junto a varios bucles podran hacer que logres tu cometido.

3- En VBA no exite "la solucion unica o exacta" a un dilema, la programacion reside, tambien, en buscar soluciones con las herramientas que se tiene, usando mucha logica, mcuha combinacion de instrucciones y sobre todo mcuha imaginacion.

Abraham
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:REGISTROS QUE NO SE REPITAN , PERO SI SE SUMEN

Publicado por juan zarate o (10 intervenciones) el 27/03/2008 02:59:06
hola:
en primer lugar no soy un experto pero si conosco VB6.0 en DAO y tambien SQL, pero recien me estoy iniciando en la programacion en macros (EXCEL) , como tu sabras no es lo mismo programar un mshflexgrid,datagrid,mflexgrid que en macros, ya que worksheets no tiene los mismos eventos que estos controles ya mencionados.
por eso que estoy mandando el codigo para que la ayuda sea mas directo a lo que uno esta trabajando
3 años antes yo era asiduo participante del foro CANAL VISUALBASIC6.0 no solamente pidiendo cosejos sino aportando tambien pero todo atravez de codigos , por motivo de exceso de trabajo deje de participar

en tu caso ABRAHAM VALENCIA me he dado cuenta que tus aportes son principalmente comentarios y tiene poco de ayuda atravez de codigos.los comentarios ayudan muy poco o casi nada

cosa que no ocurre con otros compañeros que realmente son un aporte porque realmente van al codigo que es lo que queremos las personas que estamos esperando una ayuda

lo ideal seria si solamente tienen comentarios y criticas y nada de aporte tecnico (codigos) , mejor no intenten ayudar. para que le den el espacio a otras personas
que si estan dispuestas a ayudar

espero ABRAHAM que lo tomes de manera positiva

Atte

Juan Zarate O.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:REGISTROS QUE NO SE REPITAN , PERO SI SE SUMEN

Publicado por Abraham Valencia (2418 intervenciones) el 27/03/2008 16:12:16
Hola Juan, no te preocupes, te aseguro que no lo tomo a mal, simplemente que a mi me parece mejor dar los indicios, las piestas, las referencias, que hacerle todo a los demas. TOdos debemos acostumbrarnos a leer, ya si uno lo intenta y no puede, pues, ahi, logico que podemos hacer algo.

En tu caso, tu envias una macro, pero que hace otra cosa, no lo que tu solicitas.

En todo caso, ya que sabes VB y has trabajado con DAO, no creo que se te complique trabajar con excel y ADO (particularmente, creo que es mejor que DAO) Lee por aqui:

http://www.mvp-access.es/softjaen/articulos/excel/ado_dao_excel.htm

Abraham
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar