-
Hola a todos, tengo un problema con una plantilla para facturas que estoy creando en excel:
La cabecera es una cabecera fija, con los datos de la empresa, la fecha, etc. El cuerpo de la factura es un total de 15 lineas de artículo, donde se especifica lo normal, el código, nombre, número y precio, y un pie donde se especifica el total.
El tema está en que con una sola pagina no hay problema, el problema es que la factura va a tener n páginas, ni una ni dos, ni tres ni cuatro ni veinte, sino X. De tal forma lo que quiero es que pueda rellenar el numero de paginas que yo quiera, y automaticamente se generen las n paginas, con el total de la factura al final (el total de todas las lineas de todas las páginas). Por supuesto, cada página debe llevar la cabecera, y además un subtotal con todas las lineas de factura que lleva hasta ahora (en la página uno las 15 lineas de la pagina uno; en el pie de la pagina dos, las 15 lineas de la pagina uno más las 15 de la dos, y asi sucesivamente….)
¿Alguien me puede echar una mano?ç
Un saludo
-
asi rapido.. jugando con el grabador de macros de excel (para hacer la base) y editando a mano la macro en el VBA, yo lo veo factible. pero para simplificar las cosas haria esto:
en vez de poner el total de las N facturas al final de todo (seria la hoja N o N+1, no?) la pondria al principio, en la primera hoja-factura. El motivo es para simplificar el proceso de añadir las hojas, nada mas.No me he puesto a hacer N facturas pq tampoco tengo una idea de que aplicacion tendria, pero he hecho autorellenados de hojas siguiendo un patron, con aleatorios, guardados i tal y con la grabadora de macros haces la base para hacer 1 factura solo la estructura, digamos en plan esquema) , y luego la editas a mano para hacer el bucle de N iteraciones.
yo lo que haria seria, crear la factura indicie (la primera/ultima que es la que tiene el total de todas las N facturas. esta seria la Hoja 1), y la primera factura (Hoja 2)
ahora pondria el grabador de macros, copiaria al portapapeles (via edicion –> Copiar, nada de atajos de teclado) y haria una hoja nueva al final (Hoja 3), le pegaria la cabecera y todo lo "estatico" (Edicion -> Pegar, esta vez) y si con esto ya te queda la factura nueva llena pos ya esta listo, paras el grabador de macros.
ahora la pruebas (borras la hoja 3 y ejecutas la macro a ver que hace).
si hace lo que quieres pos nada, al editor y buscando el codigo que hace todo lo de copiar y tal (es bastante explicito, no tiene perdida si sabes un minimo de ingles) lo metes dentro de un While o un For y ya esta.
Para ejecutarla si quieres, puedes crear un boton en la Hoja 1 que sea el generar factura, y al pulsarlo te genere N facturas (en base al valor que haya en una celda de esa pagina, por ejemplo, o de un cuadro vbscript para entrar texto)
o si la macro se llama autoexec creo que se ejecuta al abrir el libro de excel.
tambien puedes hacer que salte el dialogo de guardar, o de imprimir o casi lo que quieras dentro de unos limites, google es dios en este aspecto (y como en casi todos).si quieres algo mas concreto y puedo ayudarte lo haré encantado en cuanto tenga un momento pa escribir.
Sa lu2!