Macro para imprimir registro de excel en pdf

Tengo una planilla en excel donde cada registro tiene los datos de lo que se imprime como factura, es decir debo hacer de cada registro un archivo pdf. O bien un solo pdf con todas las facturas de los clientes.
Intenté con una macro pero no me sale. Agradezco tu ayuda.

1 respuesta

Respuesta
1
¿Cómo es la macro? Entre otras cosas necesito saber que tenés instalado para crear el pdf porque excel no tiene nada "propio" que haga esto
Tengo una planilla de excel con muchos registros. Cada registro contiene el código del cliente y su detalle de gasto.
Cómo un mismo cliente puede tener varios registros, establecí un filtro por código y se envía a imprimir todos los gastos de ese cliente.
Me lleva muchísimo tiempo filtrar manualmente cliente por cliente e ir imprimiendo uno a uno, pues ahora ya hay más de 500 y estiman llegar a los 1000 clientes!
Para hacer pdf esta instalado el acrobat reader, y el pdfill free. Lo que se me ocurrió hacer es enviar todas las facturas a un solo pdf y luego enviar a imprimir las 500 o 600 hojas de ese pdf.
No te envío lo que hice porque es un moco. No se mucho de VB, apenas darme cuenta si veo algo hecho. Agradezco mucho tu interés y ayuda.
Quedo a la espera...
Lo que se me ocurre que puedes hacer es automatizar el proceso de la impresión de los clientes (no te digo la otra parte porque al no tener el Acrobat no se como será la sintaxis). La macro podría ser algo del estilo
For Each cliente in Range("Clientes")
 Selection.Autofilter Field:=1, Criteria1:=cliente
'Preparar Factura
'Imprimir
Next cliente
Como te habrás dado cuenta, lo anterior es solo un bosquejo para que te des una idea como encararlo; (una alternativa para hacer el código es usar la grabadora de macros para grabar 4 ó 5 clientes y ver que código genera y a partir de allí hacer la automatización)
Gracias, ya casi lo tengo. Me quede trabada en el código para filtrar cada uno de los clientes.
Para ello he puesto todos los códigos en la columna A de la hoja2, y en la hoja1 tengo la planilla con todos los clientes.
No se como indicar en el autofiltro que busque cada uno de los códigos que aparecen en la hoja2. Columna y utilice ese criterio para ir filtrando.
Decime como te está quedando el código, debería ser algo parecido a lo que puse yo, algo del estilo
dim cliente as string
Sheets("Hoja2").Select
Range("A2").select
Do While Activecell.value <> ""
cliente = ActiveCell.Value
Sheets("Hoja1").Select
Selection.Autofilter Field:=1, Criteria:=cliente
'Preparar factura
'Imprimir
Sheets("Hoja2").Select
ActiveCell.Offset(1,0).Select
Loop

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas