Necesito una macro que sume valores numéricos y que al finalizar me de un total

Hola, amigo tengo una hoja donde se va llenando con datos de las ventas diaria, pero no he podido hacer una macro que al terminar el ultimo dato esta me genere un total para después aplicar un impuesto. (independiente que sea solo dos o tres o diez registro, lo que si se es cuando no haya mas registrop me realice la suma total para después yo introdfuci una formula del impuesto y completar mi informe casi como una factura de venta del que dia.

Agradeciéndole de antemano todo la ayuda que me brinden.

1 Respuesta

Respuesta
1

Si esta parte: '... se va llenando con datos de las ventas diaria...' lo realizás con una macro dejala escrita aquí para poder agregarle la instrucción para la suma.

Si no tenés nada aún, indicame cual es la 1er fila y la col que se tiene que sumar... el fin de rango lo encuentro con el código.

¿También aclará qué formula hay que agregar o de eso ya te ocupares por tu cuenta?

Resumiendo: imposible desarrollar una macro SIN datos´ni referencias.

Hola nuevamente, Elsa Matilde te mando macros que utilizo en Excel y
detalles de lo que necesito
Sub Guardar_ventas()
Range("Información!C"
& Range("R6")).Value = Range("Información!C" &
Range("R6")) - Range("G7")
Sheets("Resultados").Visible = True
Sheets("Resultados").Select
Range("A2").Select
Do While
ActiveCell.Value <> ""
ActiveCell.Offset(1,
0).Select
Loop
ActiveCell.Offset(0,
0).Value = Range("Ventas!l1")
ActiveCell.Offset(0,
1).Value = Range("Ventas!l2")
ActiveCell.Offset(0,
2).Value = Range("Ventas!l3")
ActiveCell.Offset(0,
3).Value = Range("Ventas!i1")
ActiveCell.Offset(0,
4).Value = Range("Ventas!E7")
ActiveCell.Offset(0,
5).Value = Range("Ventas!f7")
ActiveCell.Offset(0,
6).Value = Range("Ventas!g7")
ActiveCell.Offset(0,
7).Value = Range("Ventas!h7")
ActiveCell.Offset(0,
8).Value = Range("Ventas!k2")
ActiveCell.Offset(0,
9).Value = Range("Ventas!f2")
Sheets("Ventas").Select
MsgBox "La información de esta venta ha sido almacenada
exitosamente", vbInformation, "Venta registrada"
Sheets("Resultados").Visible
= False
Sheets("Factura").Visible
= True
Sheets("Factura").Select
Range("A6").Select
Do While
ActiveCell.Value <> ""
ActiveCell.Offset(1,
0).Select
Loop
ActiveCell.Offset(0,
0).Value = Range("Ventas!f7")
ActiveCell.Offset(0,
1).Value = Range("Ventas!g7")
ActiveCell.Offset(0,
2).Value = Range("Ventas!h7")
Sheets("Ventas").Select
Dim intRespuesta As Integer
intRespuesta = MsgBox("Se ha añadido el articulo a la factura de
ventas, ¿desea visualizar la factura?", vbQuestion + vbYesNo,
"Visualización de factura")
If intRespuesta = 6
Then
Range("i1").Value
= Range("i1") + 1
Sheets("Factura").Visible
= True
Sheets("Factura").Select
Else
Sheets("Factura").Visible = False
MsgBox "Para continuar con la factura, agregue otro artículo"
End If
End Sub

La idea es que automáticamente
me genere un saldo de 1.500.00 córdobas y después este total multiplicar por
15% de IVA (Impuesto de valor agregado) me des 225.00 y total general
1,725.00, quedaría asì.

A B C D

Producto 1 5.00 10.00 50.00
Producto 2 10.00 20.00 200.00
Producto 3 15.00 30.00 450.00
Producto 4 20.00 40.00 8000.00
Subtotal 1.500.00
Impuesto 225.00
Total 1.725.00
Hoja Nº 1 esta la máscara para procesar la venta
Hoja Nº 4 está la tabla donde se almacena las ventas diarias
Hoja Nº6 se genera la factura
lista para imprimir
Gracias nuevamente de todo corazón, lo que pudiera ayudar en lo que
necesito.

Ahá... Hoja1, Hoja4 y Hoja6... pero el código dice 'Ventas', 'Resultado', 'Factura'...;)

Imagino entonces que será en hoja Factura. Estás volcando información a las col A:C, y falta calcular lo de la col D, entonces allí va el primer cálculo. Luego el resto para los totales:

Sheets("Factura").Visible = True
Sheets("Factura").Select
Range("A6").Select
Do While ActiveCell.Value <> ""
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Offset(0, 0).Value = Range("Ventas!f7")
ActiveCell.Offset(0, 1).Value = Range("Ventas!g7")
ActiveCell.Offset(0, 2).Value = Range("Ventas!h7")

'col D
ActiveCell.Offset(0, 3).Value = Range("Ventas!g7") * Range("Ventas!h7")
Sheets("Ventas").Select
Dim intRespuesta As Integer
IntRespuesta = MsgBox("Se ha añadido el articulo a la factura de ventas, ¿desea visualizar la factura?", vbQuestion + vbYesNo, "Visualización de factura")
If intRespuesta = 6 Then
Range("i1").Value = Range("i1") + 1
Sheets("Factura").Visible = True
Sheets("Factura").Select
'agrego totales
Dim tot1 As Double
For i = 6 To Range("D65536").End(xlUp).Row
tot1 = tot1 + Range("D" & i).Value
Next i
'ya tengo el total, lo coloco debajo del último dato
Range("D" & i + 1) = tot1
iva = Round(tot1 * 0.15,2)
Range("D" & i + 2) = iva
Range("D" & i + 3) = tot1 + iva
Else

'aquí sigue el resto

End Sub

Sdos, comentame si quedó claro.

Le agradezco mucho grandemente, sus consejos salieron a la perfección, pero si no es mucha la molestia me podría indicar como puede ponerle nombre (Etiqueta en la factura) que este valor es un subtotal, el siguiente de abajo es IVA y el ultimo es el total.

Gracias nuevamente ( comparto la idea que cuando alguien recibe ayuda de otro es una gran sastifaciòn de servicio humano de gran gozo de admiración y respeto)

Qué pena lo tuyo... lleva días la consulta abierta sin finalizar... seguramente te lo recordó el foro cuando intentaste dejar la nueva en el tablón.

Debes finalizar ésta que ESTÁ resuelta y dejarme la nueva en el tablón. Podes indicar que es para mí y con mucho gusto te asistiré en el NUEVO tema.

Por regla general no respondemos 2 temas distintos en 1 sola consulta... gracias.

Sdos

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas