sumar segun criterio dentro de un macro

18/12/2006 - 02:56 por gam314 | Informe spam
Hola, tengo el siguiente problema que no se como solucionar

estoy haciendo un macro para depurar archivos muy grandes y necesitaria
hacer lo siguiente
tengo la siguiente tabla

proveedor precio
uno 100
uno 30
uno 200
dos 50
dos 20
tres 500
tres 300
tres 80
tres 90

osa en una columa los proveedores repetidos y en la que siguien los
gastos, yo necesitaria que se sumen todas las de los proveedores y
elimiar las filas sobrantes

tendria que quedar asi

uno 330
dos 70
tres 960


se entiendo lo que necesito?????


Saludos y gracias

Preguntas similare

Leer las respuestas

#1 Ivan
18/12/2006 - 03:44 | Informe spam
hola

aunque hay formas seguro que mucho mejores (incluso sin codigo), si
quieres pega este codigo en un modulo normal y adjudicaselo a un boton
o ejecutalo con F5 (en un archivo de prueba)

se supone que la hoja se llama "Hoja1" y que los datos estan en las
columnas
A->proveedor y B->precio y que los datos empiezan en la fila 2

Sub testTotalizar()
Dim celda As Range, f As Long, l As Long
Application.ScreenUpdating = False
With Worksheets("Hoja1")
f = .[a65536].End(xlUp).Row
For Each celda In .Range("a2:a" & f)
For l = f To celda.Row + 1 Step -1
If .Range("a" & l) = celda Then
With celda.Offset(0, 1)
.Value = .Value + Worksheets("Hoja1") _
.Range("b" & l)
End With
.Range("a" & l).EntireRow.Delete
End If
Next
Next
End With
End Sub

espero que te valga

un saludo y hasta pronto
ivan

ha escrito:
Respuesta Responder a este mensaje
#2 Peluchon
18/12/2006 - 14:37 | Informe spam
Mira la función SUMAPRODUCTO

con esa función puedes hacer lo que dices, no te digo como para que
investigues y aprendas

ha escrito:

Hola, tengo el siguiente problema que no se como solucionar

estoy haciendo un macro para depurar archivos muy grandes y necesitaria
hacer lo siguiente
tengo la siguiente tabla

proveedor precio
uno 100
uno 30
uno 200
dos 50
dos 20
tres 500
tres 300
tres 80
tres 90

osa en una columa los proveedores repetidos y en la que siguien los
gastos, yo necesitaria que se sumen todas las de los proveedores y
elimiar las filas sobrantes

tendria que quedar asi

uno 330
dos 70
tres 960


se entiendo lo que necesito?????


Saludos y gracias
Respuesta Responder a este mensaje
#3 Gabriel Raigosa
18/12/2006 - 14:45 | Informe spam
escribió:
Hola, tengo el siguiente problema que no se como solucionar

estoy haciendo un macro para depurar archivos muy grandes y necesitaria
hacer lo siguiente
tengo la siguiente tabla

proveedor precio
uno 100
uno 30
uno 200
dos 50
dos 20
tres 500
tres 300
tres 80
tres 90

osa en una columa los proveedores repetidos y en la que siguien los
gastos, yo necesitaria que se sumen todas las de los proveedores y
elimiar las filas sobrantes

tendria que quedar asi

uno 330
dos 70
tres 960


se entiendo lo que necesito?????


Saludos y gracias




Saludos:

Puede conservar perfectamente los datos de origen si el que los piensa
utilizar para otros informes, y con ellos hacer una tabla dinamica, el
excel mostrara el resultado por proveedor.

Tambien esta la opcion subtotales del menu "Datos'

GR
Respuesta Responder a este mensaje
#4 Gabriel Raigosa
18/12/2006 - 14:51 | Informe spam
Gabriel Raigosa escribió:
escribió:
Hola, tengo el siguiente problema que no se como solucionar

estoy haciendo un macro para depurar archivos muy grandes y necesitaria
hacer lo siguiente
tengo la siguiente tabla

proveedor precio
uno 100
uno 30
uno 200
dos 50
dos 20
tres 500
tres 300
tres 80
tres 90

osa en una columa los proveedores repetidos y en la que siguien los
gastos, yo necesitaria que se sumen todas las de los proveedores y
elimiar las filas sobrantes

tendria que quedar asi

uno 330
dos 70
tres 960


se entiendo lo que necesito?????


Saludos y gracias




Saludos:

Puede conservar perfectamente los datos de origen si el que los piensa
utilizar para otros informes, y con ellos hacer una tabla dinamica, el
excel mostrara el resultado por proveedor.

Tambien esta la opcion subtotales del menu "Datos'

GR



Disculpeme, veo que lo que necesita son macros.
Respuesta Responder a este mensaje
#5 Ivan
18/12/2006 - 16:36 | Informe spam
hola de nuevo

estoy de acuerdo con Gabriel y Pelunchon en que existen opciones sin
tener que recurrir a las macros, y especialmente en lo que comenta
Gabriel sobre conservar los originales

no obstante, si sigues queriendo usar macros pero quieres conservar los
registros originales, tienes varias opciones, entre ellas->

a).- hacer una copia y usar la macro en esta, dejando el original
intacto (tendria que cambiar el nombre de la hoja)

b).- usar la siguiente macro, que es la misma que la anterior pero te
copia el resumen en una nueva hoja añadida al final del libro, y
llamada "Resumen " mas la fecha y hora actual para evitar duplicados (
en la macro el nombre de la hoja original es "Proveedores", pero puedes
cambiarlo por el que tengas

Sub testTotalizar2()
Dim celda As Range, f As Long, l As Long
Application.ScreenUpdating = False
With Worksheets("Proveedores")
If .[a2] = "" Then Exit Sub
f = .[a65536].End(xlUp).Row
ThisWorkbook.Worksheets.Add _
After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "Resumen " & _
Format(Now, "dd-mm-yy hh-nn-ss")
.Range("a1:b" & f).Copy [a1]
End With
For Each celda In Range("a2:a" & f)
For l = f To celda.Row + 1 Step -1
If Range("a" & l) = celda Then
With celda.Offset(0, 1)
.Value = .Value + Range("b" & l)
End With
Range("a" & l).EntireRow.Delete
End If
Next
Next
Columns.AutoFit
End Sub

un saludo y hasta pronto
Ivan
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida