Imprimir en formato diseñado en excel

Buenas tardes:
Agradezco de antemano a quien me pueda colaborar con el siguiente tema:
Tengo un archivo en excel que contiene 2 hojas, en una hay información básica de clientes tales como código, nombre, valor a cobrar, etc, en la otra hoja hay un formato el cual he formulado de forma tal que al digitar en una celda POR el código, se alimente automáticamente los demás campos (nombre, dirección, valor a cobrar, etc) que están contenidos en la hoja que mencione anteriormente, esto lo he logrado con la fórmula buscarv, colocando manualmente los códigos de cada uno de los clientes, este formato esta diseñado para que al imprimir en una hoja tamaño carta me salga la información de dos clientes diferentes, lo que necesito es un comando o una rutina que me permita imprimir automáticamente la totalidad de los clientes contenidos en la hoja de datos que pueden ser entre 500 y 600 filas, en cada fila hay un cliente diferente, sin tener que digitar manualmente cada uno de los códigos de los clientes y sin que me salgan impresiones repetidas.
Nuevamente muchas gracias a quien me pueda colaborar con este tema

1 Respuesta

Respuesta
1
Si es posible mediante un bucle
La idea seria:
1 poner el código en la celda respectiva del área a imprimir
2 tus fórmulas rellenan lo demás
3 imprimir
4 pasar al segundo código de la lista y volver a 1
Para eso necesitas
El rango de la lista de códigos que utilizaras
hoja1(rango(a1:a500))
Ubicacion de la celda que debe ser cargada con ese codigo
hoja2(rango(d12))
Indicame esos datos y veremos una macro
Hola buenas tardes:
Primero que todo muchas gracias por su respuesta, ¿para más claridad es posible que le envíe el archivo?.
Gracias
Lo lamento, no recibo archivos
Entiendo lo que necesitas, es ejecutar automáticamente un proceso que hasta ahora haces manualmente,
Indicame el rango de la lista de de códigos en que hoja esta ( nombre) y desde que celda parte.
Luego necesito saber el nombre de la hoja y la celda en la cual va ese código ( me refiero a tu pantilla)
Y luego solo necesito el rango de tu plantilla ( el área a imprimir) y ya esta, eso es todo lo que hace falta
Ok., la información es la siguiente:
Los códigos empiezan en la celda B6 y el final es variable, oscila entre B500 y B700, la idea es que siempre se imprima hasta el ultimo código registrado, y están contenidos en una hoja de nombre DATOS.
La hoja en la cual esta la plantilla se llama Recibos, como mencioné inicialmente van dos códigos por cada hoja impresa, están ubicados en las celdas G6 y O6.
La plantilla esta contenida en el rango B2 a O38.
Creo que es todo lo que solicitas...
Gracias nuevamente
OK
Inserta un modulo en tu proyecto ( ALT + F11) en ese modulo pegas este macro
Option Explicit
Sub imprimir_clientes()
Dim r As Long
Dim n As Long
n = Application.WorksheetFunction.CountA(Sheets("DATOS").Range("B:B"))
If n = 0 Then Exit Sub
For r = 6 To (n + 5) Step 2
Sheets("Recibos").Range("G6") = Sheets("DATOS").Range("B" & r) ' pasa el codigo a la plantilla
Sheets("Recibos").Range("O6") = Sheets("DATOS").Range("B" & r + 1) ' pasa el codigo a la plantilla
Sheets("Recibos").Range("B2:O38").PrintOut ' imprime la plantilla
DoEvents
Next
MsgBox "Impresion finalizada", vbInformation
End Sub
Recorre el rango B6 hasta Bn, pasando los valores a la hoja Recibo celdas g6 o6
Luego imprime rango B2:038
El macro se llama imprimir_clientes

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas