Generar una macro que imprima en un archivo con todas las hojas seleccionadas o un archivo por hoja y que se genera un pdf

Dante amor tengo archivo y deseo imprimir con todas las hojas seleccionadas o un archivo por hoja, que se genere un pdf en un solo archivo pdf y que se pueda también tener la opción a imprimir

2 Respuestas

Respuesta
1

Quizás te aporte algo esto

https://youtu.be/x8vd4OHGkNM

https://youtu.be/sTJK_zm8nOM

En este último ejemplo si bien es para enviar mail, genera un pde, fíjate en esa parte del código y podrás armar tu macro

Respuesta
2

Te anexo la macro para guardar en un pdf todas las hojas seleccionadas.

En esta parte de la macro está el nombre del archivo, cambia el nombre por el que desees.

arch = "formato IVSS"

La macro

Private Sub CommandButton1_Click()
    Call Impresion(1)
End Sub
Private Sub CommandButton2_Click()
    Call Impresion(2)
End Sub
Private Sub CommandButton3_Click()
    Call Impresion(3)
End Sub
'
Sub Impresion(tipo)
'Por.Dante Amor
    Dim hojas()
    Application.ScreenUpdating = False
    n = -1
    ruta = ThisWorkbook.Path & "\"
    arch = "formato IVSS"
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) Then
            h = ListBox1.List(i)
            If tipo = 1 Or tipo = 2 Then
                Sheets(h).PrintOut Copies:=1, Collate:=True
            End If
            If tipo = 2 Or tipo = 3 Then
                n = n + 1
                ReDim Preserve hojas(n)
                hojas(n) = Sheets(h).Name
            End If
        End If
    Next
    If n > -1 Then
        Sheets(hojas).Copy
        ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=ruta & arch & ".pdf", _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, OpenAfterPublish:=False
        ActiveWorkbook.Close False
    End If
End Sub
'
Private Sub UserForm_Activate()
'Por.Dante Amor
    ListBox1.MultiSelect = 1
    ListBox1.ListStyle = 1
    For Each h In Sheets
        ListBox1.AddItem h.Name
    Next
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

Hola esta macro la pego en la anterior, o en otro modulo, no me funciona . Saludos

Esta macro sustituye a la anterior, pero debes probar en el archivo que te envié.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas