Macro para imprimir

Hola tengo una hoja con registros ced, fact, valor etc, y genere un formato en otra hoja para imprimirlos con buscarV, mi pregunta es :
Se puede generar una macro para que me imprima por ejemplo desde la fila 2 hasta la fila 50 (cada fila es una factura) cada una por separado

1 respuesta

Respuesta
1
si, con la Propiedad While.....wend
Entra a mi página, en contarras macros escritar y archivos de ejemplo
descárgate el que dice.. sistema de facturación, tiene un código para filtrar registros algo parecidio a lo que tu buscas...
Muchas gracias, la información es muy buena, pero estoy trabajando en una base con un formato ya determinado y lo que necesito es imprimir cada linea en una factura preimpresa y de hoja continua.
Para poder imprimir de la factura 1 a la 10 de manera auotmatica, es decir que una vez que imrima la 1 traiga los datos de la 2 e imprima luego la 3 y así hasta la 10,
Estoy tratando de crear una macro pero la verdad me ha sido difícil, me podrías ayudar
Dim desde, hasta, Numero As Double
Sheets("BASE DE TRABAJO").Select
desde = Range("A10").Value
hasta = Range("B10").Value
If desde < 12 Or hasta < 12 Then
    MsgBox "   ", vbCritical, "   "
    Exit Sub
End If
If hasta < desde Then
    MsgBox "  ", vbCritical, " "
    Exit Sub
Else
    While desde <= hasta
        Sheets("BASE DE TRABAJO").Select
        Numero = Range("A" & desde).Value
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
        Sheets("FACTURA").Select
        Application.ActivePrinter = "\\131.1.20.29\XRX5655CLL71 en Ne02:"
        ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=2, _
        ActivePrinter:="\\131.1.20.29\XRX5655CLL71 en Ne02:", Collate:=True
        desde = desde + 1
    Wend
End If
End Sub
Te paso la Macro que realiza el procedimiento que necesitas
Sub MyMacro()
Sheets("hoja2").Select
Range("a2").Select
For i = 1 To 3
If ActiveCell <> "" Then
Worksheets("hoja1").Range("a1").Value = ActiveCell.Offset(0, 0).Value
Worksheets("hoja1").Range("a2").Value = ActiveCell.Offset(0, 1).Value
Worksheets("hoja1").Range("a3").Value = ActiveCell.Offset(0, 2).Value
Sheets("hoja1").PrintOut Copies:=1, Collate:=True
ActiveCell.Offset(1, 0).Select
End If
Next
End Sub
Esta macro tienes que adaptarla a tus necesidades, yo no se como esta tu archivo, esto en de un ejemplo para esta macro la plantilla esta en la hoja1 y los registros que se imprimirán están en la hoja2,
cad fila la imprime en una plantilla por separado..
Como veras se usa la propiedad For i ... Next en donde i es igual del 1 to 3, eso es para mi ejemplo, en tu archivo i sera igual 1 to 50.
Cambiale los criterios. En mi caso me imprime tres hojas porque for es igual a 1 to 3

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas