Como Programar en Excel - Facturas de Venta Final
Estas listo para ver el ultimo video de como crear excel facturas de venta paso a paso?
Este es el último paso que vamos a realizar, para tener listo tu plantilla. Espero que hallas tomado acción en el artículo anterior, si no lo has hecho ve léelo pasos para Programar en Excel, Facturas de Venta Nº3.
Ahora vamos a crear un botón que nos permita imprimir la factura y guardar los datos en la base de datos.
Macro que Imprime y limpia las Facturas de venta
Primeramente quiero compartir la macro que utilizaras para imprimir y limpiar la factura. La siguiente imagen te muestra el código:
Sublimpieza()ActiveSheet.Range("C9").Value= ""ActiveSheet.Range("A13:C20").Value = ""End SubSub Imprimir()
' imprimir Macro
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub
Estos códigos las vamos a copiar dentro del módulo uno, del proyecto “Facturas de Venta” Suponiendo que tu archivo tiene ese nombre, si tiene otro nombre no importa, lo que queremos es colocar dentro de un módulo esos códigos, veamos los pasos:
- 1Vamos a pulsar Alt + F11 para abrir Visual Basic For Aplication (VBA) la ventana tiene que ser igual así a como se muestra en la imagen:
- 2En la parte izquierda se muestra un proyecto, la desplegamos e insertamos un módulo, para insertar modulo nos ubicamos en la pestaña "Insertar" y seleccionamos "Módulos". Veamos la imagen:
- 3Una vez que ya hemos insertado el modulo, se mostrara dentro del proyecto, dentro de una carpeta llamada módulo, desplegamos esa carpeta y damos doble clic sobre modulo 1 y se nos abre una ventana o espacio en blanco donde tu podrás copiar el código de la tabla 1. Veamos la imagen:
- 4Vamos a copiar el código de la tabla 1 en el espacio en blanco y queda de la siguiente manera.
- 5Pulsamos "Guardar" y cerramos VBA.
Creando Botón para Imprimir y Guardar los Datos
Vamos a crear un botón de comando, para insertarlo nos ubicamos en la pestaña programador (Office 2010) o Desarrollador (Office 2013), sección controles, desplegamos el comando insertar y seleccionamos Botón Comando (Esta dentro de Controles ActiveX).
Una vez seleccionada nos ubicamos a la mitad de la celda A2 y presionando el botón primario (Izquierdo) del mouse empezamos a Dibujar el botón terminando hasta la mitad de la Celda C2, te pido que veas la imagen:
Bien, si notas yo ya le puse nombre al botón, pero en tu caso aparecerá por defecto el nombre commandbutton1, ese nombre lo cambiaremos después de agregarle el código al botón.
Código que graba los datos de la Factura en la Hoja Base
Así a como está tu botón está activado en modo diseño, le damos clic derecho, y se nos presenta varias opciones, seleccionamos ver código y se nos abre VBA. Veamos la imagen:
Nos ubicamos en medio de las dos palabras y copiamos el siguiente código:
'imprimirCall Imprimir'rutina que graba la factura en hoja base'se busca la primer fila libre en hoja Factfilalibre = Sheets("Base").Range("A65536").End(xlUp).Row + 1
'se pasarán los datos desde la 1er fila de items
ActiveSheet.Range("A10").Select
fila = 10
While ActiveCell.Value <> ""
'copiamos datos fijos ajustando nro col
Sheets("Base").Cells(filalibre, 2) = ActiveSheet.Range("F4") 'NRO FACT
Sheets("Base").Cells(filalibre, 1) = ActiveSheet.Range("B4") 'FECHA
Sheets("Base").Cells(filalibre, 3) = ActiveSheet.Range("C6") 'CLIENTE
'otros datos del encabezado
'copiamos lista de items
Sheets("Base").Cells(filalibre, 4) = ActiveCell.Offset(1, 0) 'CANT
Sheets("Base").Cells(filalibre, 5) = ActiveCell.Offset(0, 1) 'COD PROD
Sheets("Base").Cells(filalibre, 6) = ActiveCell.Offset(0, 2) 'PROD
Sheets("Base").Cells(filalibre, 7) = ActiveCell.Offset(0, 3) 'DESCRIPC
Sheets("Base").Cells(filalibre, 8) = ActiveCell.Offset(0, 4) 'PRECIO UNIT
Sheets("Base").Cells(filalibre, 9) = ActiveCell.Offset(0, 5) 'PRECIO TOT
'incremento la variable fila para repetir el bucle
filalibre = filalibre + 1
'repito el bucle para las cantidades siguientes
ActiveCell.Offset(1, 0).Select
Wend
'para el ingreso de nueva factura
Call limpieza
Una vez que ya has copiado el código guardas y cierras VBA. Te dejo una imagen para que observes que lo has copiado correctamente, el código copiado debe estar tal a como aparece en la imagen.
Ejemplo de la Imagen
Ohhh se me olvidaba un punto importante, y me refiero al nombre del botón comando. Muy bien activamos el modo diseño del comando y le damos clic derecho, seleccionamos ver código.
Esto nos lleva nuevamente a Visual Basic para aplicación, entonces ya estando dentro de VBA en el panel que se encuentra a la izquierda, siempre la opción propiedades esta activa, pero en caso de no estar activo, pulsamos F4 y aparece la ventana Propiedades del CommandButton1, te dejo una imagen para que la veas:
Una vez activo las propiedades del Botón commandButton1, buscamos dentro de las propiedades en la parte izquierda la palabra “Caption”, en la parte derecha tiene escrito CommandButton1, lo borramos y escribimos “Imprimir y Guardar”, guardamos y cerramos VBA.
Muy bien podemos observar que ya cambio el nombre de tu Botón ahora dice “Imprimir y Guardar” Felicidades ahora solo nos queda probar si todo funciona bien. Pero antes de que hagas la prueba te regalo una imagen de la propiedad caption esta resaltado en azul:
Estupendo! Hemos concluido ahora solo digita una cantidad, un código, selecciona un nombre, digita la fecha (Si no quieres digitar fecha solo escribe dentro de la celda B4 lo siguiente =Hoy()).
Y pulsa el botón "Imprimir y Guardar" y veras como se imprimirá y se guardara los datos, no solo eso el número de factura aumentara y quedara automáticamente una nueva factura limpia, lista para digitar nuevos datos.
Hasta aquí con el tema de hoy Como Programar en Excel - Facturas de Venta Final, me gustaría saber que piensas de este articulo, déjame tu comentario con dudas, criticas constructivas y sugerencia.
Te saluda,
Roger Pérez - Excel y Contabilidad
MUY BUENAS HE REALIZADO TODOS LO PASOS Y A FUNCIONADO PERO AL FINAL NO PUEDO HACER QUE FUNCIONE EL Botón para Imprimir Y Guardar los Datos GRACIAS
Hola Angel para mayor informacion te pido que entres a la pagian http://www.aplicaexcelcontable.com , te registras, confirmas el Email y al instantes tendras acceso a una pagina donde encontraras 5 videos tutoriales, alli te explico todo en video.. Suerte y Buen Dia.
Estimado
He realizado todos los pasos, sin embargo no funciona la macro, lo demas si (formulas), ademas me registre, me enviaron un usuario y una contraseña pero igual no puedo entrar,
tus comentarios al respecto
Saludos
Estimado Benjamin, las macros no se han podido activar por las siguientes razones:
1. No lo guardaste en el Tipo de Libro habilitado para Macros.
2. Quizas al Abrir el Libro tu no habilitas el contenido, al abrir un Libro si el tipo de libro esta habilitado para macros, excel automaticamente te pregunta si deseas habilitar el contenido, entonces, al pulsar en habilitar estas activando toda la funcinalidad de las macros.
En cuanto al Registro voy a buscarte en la Lista de Contactos, si te encuentro voy a enviarte tu clave de usuario y tu contraseña.
Saludos y Exitos,
Hola mi estimado muchas gracias lo he probado y me sirve bien, pero lo que yo quisiera es que lo datos que están en la factura los cuales son : fecha, n factura,cliente dirección , cant (menos cod pro) descripcion, p/u y total me salgan en la hoja BASE horizontalmente comenzando desde la fila 2 hacia adelante ( A2 : H2) y asi sucesivamente bajando mientras voy agregando o en este caso guardando los datos de la factura. Por favor ya que el diseño de factura esta perfecto para mi gusto. me registrare en tu pagina GRACIAS de antemano.
Hola estimado Gerson, Me podrias mandar mas especificaciones de lo que quieres lograr… escribeme a rogerperez@aplicaexcelcontable.com con mas detalles…
Saludos,
Roger Perez – Aplica Excel Contable
Hola, tengo todo echo, no me funciona el boton grabar e imprimir
Hola Elmer!
Puedes darme mas especificaciones, por que no funciona? necesito mas detalles, para poder ayudarte…
Saludos,
Estimado
Muchas gracias por su ayuda, me sirvio y aclaro varias dudas, el boton me funciona sin problemas pero sólo en imprimir, no me limpia la hoja ni me guarda los datos de la factura anterior.
Sr Roger, mil y mil gracias por tu colaboración, el ejercicio me funcionó perfectamente, y me permitió modificarlo para que solo guardara los datos de la factura, en la hoja base, de igual manera, deshabilite la validación de datos y la función Buscarv.
Dios te guarde y te dé la sabiduría necesaria,para que siga ayudando y colaborando al máximo
Buenas, excelente tutorial, aunque estoy teniendo problemas al guardar el numero de factura
ya que si agrego mas de 1 producto, me genera 1 factura por cada producto y no por cada impresion.
Hola Manuel!
Te invito a que veas los siguientes enlaces:
http://aplicaexcelcontable.com/blog/como-crear-tu-sistema-de-facturacion-en-excel.html
http://aplicaexcelcontable.com/blog/como-crear-tu-sistema-de-facturacion-en-excel-2.html
Saludos,
Gracias, si lo segui paso a paso y funciona perfecto, igual realice algunos cambios para poder reducir algunos datos, pero siempre respetando el diseño original.
El problema es que si selecciono 3 productos los guarda bien en la base a la hora de imprimir, pero si visualizo no quedan esos 3 productos en la boleta Nº1 sino que queda con un numero correlativo
Hola Carvajal!
Te invito a que veas los links que te comparti, alli estan los codigos corregidos…
Muchas gracias por su ayuda de este tutorial, me funcionó perfecto.
Más bien tengo una consulta, yo deseo que la base no este dentro del libro sino más bien en otra ruta, en que parte de la programación cambiar la ruta?.
Muchas gracias de antemano.
Sr Roger, mil gracias por tu colaboración, muy bueno el tutorial, el ejercicio me funcionó, pero tengo una duda se puede realizar en excel. un modulo que me permita ir bajando de inventario y si tengo el producto en 0. me diga un mensaje?
Dios te bendiga y te dé la sabiduría necesaria,para que siga ayudando
Hola Lilebeth!
Si es posible, puedes ver todo esto en el siguiente enlace:
http://aplicaexcelcontable.com/Alumnos/sistema-de-gestion-facturacion-e-inventario-2
Saludos,
Roger Perez – Aplica Excel Contable
Hola! Muy buen tutorial, pero en donde puedo descargar el programa de Visual Basic para aplicaciones?
Hola Juan!
Visual Basic parar aplicaciones ya viene con Excel, lo puedes abrir desde la pestaña Desarrollador o Programador.
Saludos,
Roger Perez – Aplica Excel Contable
Hola de ante mano gracias por el tutorial.. uno de los mejores que visto en buen tiempo..
Yo segui tus pasos. me funciona todo bien, lo unico que al final no me limpia para el siguiente factura ,, siempre queda la factura que realizo.
Tambien quiero saber como hago para que nadie pueda manipular los demas hojas,,,
que solo sea manipulable la de Facturas
Hola Gabriel!
Puedes Crear una macro que limpie la Factura y luego llamas a esta a esta macro desde el Boton Guardar.
Para que nadie manipule las demas hojas, solo protegelas con contraseña.
Saludos,
Roger Perez – Excelcontablex