Excel, como crear un registro de ventas diarias ?

He creado una plantilla en excel la cual me funciona muy bien, de hecho me imprime la factura y me va cambiando el numero de factura cada vez que proceso cada venta. Mi pregunta es, Como hacer para que esas ventas que hago se me vayan registrando en otra hoja para así poder verificar al final del día que fue lo que vendí.?

1 respuesta

Respuesta
1

Debes contar con algún botón o quizás en la misma rutina de impresión que pase cada campo a una hoja digamos 'Base' .

Al hacer el pase se obtiene la primer fila libre y allí se pasa cada campo. Por ej:

libre = sheets("base").range("A" & rows.count).end(xlup).row +1

Luego cada campo pasa a cada col, por ej:

sheets("base").range("A" & libre) = range("C2")

sheets("base").range("B" & libre) = range("D5")

Seguramente luego habrá que ver si tu planilla tiene una lista de productos o no, etc pero esta sería la idea. Si necesitas más ayuda debes dejarme imagen de la planilla para tomar las referencias de los campos.

PD) De la sección Macros y Ejemplos podés tomar instrucciones de ejemplo para esta tarea.

Sdos.

Elsa

Le explico amiga, los productos los tengo en la misma "hoja1" y los coloque en una lista desplegable tal como se muestra en la imagen. Luego los precios de cada producto, segun lo selecione en la lsita desplegable, me traigo cada precio con la siguiente formula    =BUSCARV(A3,I1:J21,2,FALSO)*B3

Esta es la lista de los productos que vendo, con sus respectivos precios;

Por ultimo, este es el ticket que me imprime cuando selecciono el botón que contiene la macro IMPRIMIR.

Te informo que una vez que pulso la macro IMPRIMIR, el numero de la NOTA DE ENTREGA va aumentando de 1 en 1, pone en este caso 8, luego que facturo otra venta pone 9, y así sucesivamente.

Aquí te dejo el contenido de la macro IMPRIMIR;

Sub Botón30_Haga_clic_en()
[Hoja2!b3] = [Hoja2!b3] + 1
Sheets("Hoja2").Select
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
Sheets("Hoja1").Select
Range("A3").Select
End Sub

Mi pregunta sigue siendo, como hago para crear en una hoja aparte un registro de ventas que me permita saber que cantidad de cada producto vendí por día.

Muchas gracias por tu atención. 

Bien, imaginé una hoja llamada BASE, con las siguientes columnas en fila 1:

Nota fecha descripción cantidad total

Cada col tendrá ya su formato asignado: fecha, importe, alineación, etc.

A tu macro le agregué entonces que luego de imprimir guarde los datos en la hoja Base... también podría ser 'antes' de imprimir.

Sub Botón30_Haga_clic_en()
Dim libre As Long
Dim i As Integer, ulti As Integer
[Hoja2!B3] = [Hoja2!B3] + 1
Sheets("Hoja2").Select
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
'AGREGADO X ELSAMATILDE
'pase de datos a hoja BASE
'primer fila libre
libre = Sheets("BASE").Range("A" & Rows.Count).End(xlUp).Row + 1
'pase de datos fijos
Sheets("BASE").Range("A" & libre) = [Hoja2!B3]
Sheets("BASE").Range("B" & libre) = [Hoja2!A4]
'1er prod
Sheets("BASE").Range("C" & libre) = [Hoja2!A6]
Sheets("BASE").Range("D" & libre) = [Hoja2!B6]
Sheets("BASE").Range("E" & libre) = [Hoja2!C6]
'evaluo si hay más productos para pasar, o sea cuál es la última fila ocupada en hoja2
ulti = Sheets("Hoja2").Range("A" & Rows.Count).End(xlUp).Row
'si no hay más productos sigue con el resto del código
If ulti = 6 Then GoTo sigo
'hay más productos, completo la lista
For i = 7 To ulti
    libre = libre + 1
    Sheets("BASE").Range("A" & libre) = [Hoja2!B3]
    Sheets("BASE").Range("B" & libre) = [Hoja2!A4]
    Sheets("BASE").Range("C" & libre) = Sheets("Hoja2").Range("A" & i)
    Sheets("BASE").Range("D" & libre) = Sheets("Hoja2").Range("B" & i)
    Sheets("BASE").Range("E" & libre) = Sheets("Hoja2").Range("C" & i)
Next i
sigo:
Sheets("Hoja1").Select
Range("A3").Select
End Sub

Sdos y no olvides valorar esta respuesta. Cualquier otro agregado que quieras hacer a tu macro (limpiar datos en hoja1 y/o en hoja2) por favor en nueva consulta.

Elsa

500Macros

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas