Imprimir con macros de excel

Tengo una base de datos de cheques y deseo saber como puedo imprimir con macros desde el cheque nº 1 hasta el final, que podría ser 100 o 500 cheques. Muy agradecido por su apoyo.

1 respuesta

Respuesta
1

¿Cuál es el rango de los datos de la "base de datos"?

¿Cuál es el rango a imprimir por cada registro ( rango)?

el rango a imprimirse son los siguientes:

A B C D E

Nª FECHA IMPORTE RAZÓN SOCIAL O NOMBRE IMPORTE EN LETRAS

1 13/03/2012 8,520.00 CAYLLAHUA CANCHO, JUAN OCHO MIL QUIN...... 00/100

2 13/03/2012 1,500.00 HUAMAN VELIZ, IRMA UN MIL QUINIENTOS OO/100

.

.

.

100 13/03/2012 820.00 ESPINOSA URCOS, MELVA OCHOCIENTOS VEINTE .../100

DONDE:

Columna A es el orden de los cheques que se deben emitir

Columna B es la fecha

Columna C Importe en numero

Columna D Razón Social o Apellidos y Nombres

Columna E Importe en Letras

Gracias por su apoyo

Prueba esto:

Sub imprimir()
Dim i As Long
Dim ii As Long
'4 c7569735f50
i = Application.WorksheetFunction.CountA(Range("A:A"))
If i = 0 Then Exit Sub
For ii = 1 To i
Range("A" & ii & ":" & "E" & ii).PrintOut
DoEvents
Next
End Sub

estimado Luis. olvide mencionar que la impresion debe hacerse en el formato de cheque bancario:

--------------------------------------------------------------------------------------------------------------------

fecha ___/____________/_____ importe ___________

razon social o nombre_______________________________________________________

importe en letras ___________________________________________________________

---------------------------------------------------------------------------------------------------------------------

gracias por tu apoyo

¿Ese formato va sobre el papel directamente o va primero a una plantilla en excel?

Si va sobre una plantilla en excel, indicame las celdas en que va cada elemento, si no ( si es directo en papel), lo veo dificil ayudarte a distancia

El formato va en una plantilla de excel y las celdas son los siguientes:

----------------------------------------------------------------------------------------------------------

fecha (E2) importe (H2)
razón social o nombre (C4)

Importe en letras (C6)


----------------------------------------------------------------------------------------------------------

esta es la plantilla desde donde debe imprimirse todos los cheques, me imagino que luego de imprimir el 1er cheque, debe imprimir el 2do cheque.... hasta el final.

Nuevamente mi agradecimiento por tu valiosos apoyo.

Ok, entonces vamos a hacer lo sgte:

Voya suponer que la lista ( datos) estan en la hoja1 y en la hoja 2 esta la plantilla del cheque, siendo asi entonces, el macro seria:

Sub imprimir()
Dim i As Long
Dim ii As Long
'4c7569735f50
i = Application.WorksheetFunction.CountA(Sheets(1).Range("A:A"))
If i = 0 Then Exit Sub
For ii = 1 To i
Sheets(2).Range("e2") = Sheets(1).Range("B" & ii)
Sheets(2).Range("h2") = Sheets(1).Range("c" & ii)
Sheets(2).Range("c4") = Sheets(1).Range("d" & ii)
Sheets(2).Range("c6") = Sheets(1).Range("e" & ii)
Range("b1:h6").PrintOut
DoEvents
Next
End Sub

Nota es importante que la lista de cheques de la hoja1 parta desde la fila 1 ( sin rotulos)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas