Necesitaría una macro, para contabilizar venta diaria.

Necesitaría una macro, para contabilizar venta diaria, tengo esta macro pero es mensual:

Private Sub Worksheet_Activate()
ActiveSheet.Unprotect Password:="1"
On Error Resume Next
Application.ScreenUpdating = False
col_mes_actual = Format([C1], "m") + 4
For rw = 4 To Range("D65536").End(xlUp).Row
If Cells(rw, 3) <> "" Then
If col_mes_actual = 5 Then
Cells(rw, 5) = Cells(rw, 4) * 1
Else
Cells(rw, col_mes_actual) = Cells(rw, 4) - Application.Sum(Range(Cells(rw, 5), Cells(rw, col_mes_actual - 1)))
End If
End If
Next rw
Application.ScreenUpdating = True
ActiveSheet.Protect Password:="1"
End Sub

Y necesitaría tener otra para la venta diaria.
Si se puede mejorar esta macro mejor todavía
En el cuadro rojo la VENTA TOTAL
En el cuadro tuquesa LOS DÍAS DE LA SEMANA
En el cuadro negro LOS MESES
En el cuadro azul LA VENTA DIARIA
Un saludo

1 Respuesta

Respuesta
1

H o l a:

¿Solamente quieres una macro para la venta diaria?

En tu imagen no se ve el ejemplo de la venta diaria.

¿En dónde quieres el resultado de la venta diaria?

Puedes poner otra imagen con ejemplos de lo que quieres como resultado.

Ah y otra cosa importante!

En la macro que pusiste, toma el mes de la celda C1, pero en la celda C1 no tienes nada, entonces para obtener la venta diaria, de dónde voy a obtener el dato de cuál mes y de cuál día quieres la venta diaria.

Sin ejemplos claros es difícil comprender lo que necesitas, podrías explayarte poniendo ejemplos completos.

Hola Dante
En la celda,"B4", le tengo puesto:
=SUMAR.SI(Listado!C1:C1097;"TVR";Listado!O1:O1097)
Y me da la venta acumulativa del total del año, que va cambiando según voy facturando.
Y con el importe que se refleja y la macro que envíe, me da la venta por meses.
Y necesitaría, que me la diera por días, como mande el ejemplo
Un saludo

Hola Dante
En la macro que te he mandado tiene esta línea:
col_mes_actual = Format([C1], "m") + 4
En la celda "C1", tiene puesto, =HOY()
Un saludo

En verdad, sin ejemplos claros y completos no puedo ayudarte. Pusiste solamente explicaciones y no veo ningún ejemplo.

Cuando digo ejemplo, me refiero a que pongas datos de ejemplo, en tu imagen tienes en la celda B4 un número: 5075, este número 5075 es un ejemplo,

El ejemplo completo es, la suma de todo el rango de O1 hasta O1097 debe quedar en la celda B4, por ejemplo: 5075.

Si no me explicas a qué le llamas "Y necesitaría, que me la diera por días, como mande el ejemplo"

La fórmula que pusiste tiene referencia a la hoja "listado", ¿quiere decir que la información que quieres leer viene de otra hoja?

De verdad, no puedo entender qué necesitas y no me ayudas a ayudarte. No pones explicaciones claras.

La macro que pusiste, sin datos, simplemente no puedo ejecutarla y tampoco puedo saber qué hace. Pero no necesitas un cambio en esa macro, lo que necesitas es una nueva macro para las ventas diarias, así que esa macro no me sirve de nada. Lo que necesito es que expliques cómo obtengo la venta diaria, con un ejemplo, y me digas en dónde poner el resultado.

Hola Dante
Te lo voy a explicar de otra forma.
En la B5, tengo el dato de la venta total. Olvidate de la hoja de listado.
Poner en la celda A1, la fecha: =HOY()
Como hoy es 17 de Septiembre, me saldría toda esta cantidad, en la celda T12, que es esa fecha.
Al día siguiente en la celda T13 saldría la diferencia de todas las celdas anteriores con la nueva venta total.
Osea que en cada día saldría la venta diaria.
Te mando por correo lo que quiero en el libro 1 y te mando las hojas de facturación para que veas como lo tengo por meses.
Sino puedes ayudarme por que no se explicarlo mejor no te preocupes la culpa es mía
Un abrazo

Pero no explicaste nada. No veo los ejemplos en el libro.

Saludos Dante
1º Paso :
La celda B4, se me actualiza automáticamente, le tengo puesto donde tengo la venta total con:
=SUMAR.SI(Listado!C1:C1097;"TV";Listado!O1:O1097)
2º Paso :
Ver automáticamente la venta del día.
No hago más
Busco la línea del mes, con la columna del día, y tendría que salir la venta del día.
TODO LO DEMÁS SON COMO EJEMPLO COMO :
Las cantidades en rojo escrito, en los días de Enero y algunos de Febrero, son un ejemplo, y suman la cantidad de B4.
Por eso te digo que lo que se aumente de venta tiene que ir al día que se varíe.
No hace falta que me digas que me quieres ayudar, LO SE PERFECTAMENTE.
El problema es mio, que con 67 años, y haber aprendido autodidacticamente, muchas veces no me apaño a llamar las cosas por sunombre.
Perdona las molestias
Un saludo Dante

No es ninguna molestia.

Creo que ya entendí, quieres que sume todos los valores que están en rojo hasta un día antes a la fecha de hoy.

Luego a la venta total le resto la suma que realicé y me va a dar un valor.

Ese valor lo pongo en la fecha del día de hoy.

Te anexo la macro:

Sub ContabilizarVentaDiaria()
'Por.Dante Amor
    Set h = Sheets("Hoja1")
    mes = Format(Date, "mmmm")
    dia = Day(Date)
    Set b = h.Range("C4:C15").Find(mes, lookat:=xlWhole)
    If Not b Is Nothing Then
        f = b.Row
        Set b = h.Range("D2:AH2").Find(dia, lookat:=xlWhole)
        If Not b Is Nothing Then
            c = b.Column
            For i = 4 To f
                For j = 4 To 34
                    If i = f And j = c Then
                        Exit For
                    End If
                    conta = conta + h.Cells(i, j)
                Next
            Next
            ventatotal = h.[B4]
            Cells(f, c) = ventatotal - conta
        End If
    End If
End Sub

S a l u d o s

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas