Imprimir en PDF varias hojas de Excel en una sola hoja.

Quisiera crear un archivo de Excel en el que yo vaya editando diferentes hojas, las cuales luego mediante un botón pueda imprimirlas en una sola hoja de PDF, inclusive me ayudaría si primero se imprimen en otra hoja de Excel para luego exportarla. El problema está en que además quiero que mediante un control de formulario yo pueda elegir cual de las hojas imprimir en el reporte. Una cuestión a tener en cuenta es que quiero que se mantengan los formatos de la hoja lo mejor posible.

1 respuesta

Respuesta
1

H o l a:

Envíame tu archivo con tu formulario para adaptar el control de impresión.

El formato de impresión será el que tenga la hoja, es decir, si envías a PDF las hojas 3 y 5, cada hoja se exportará a un solo archivo PDF con su formato respectivo.

M confirmas si en un listbox quieres las hojas y cada hoja con una casilla de verificación para marcar las hojas que quieres enviar al PDF.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Victor Fretes” y el título de esta pregunta.

Acabo de enviarte el Archivo!

Gracias Dam!

H o l a:

Te anexo el código para el formulario.

Private Sub CommandButton1_Click()
'Por.Dante Amor
    hact = ActiveSheet.Name
    una = True
    For i = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(i) Then
            hoja = ListBox1.List(i)
            If una Then
                Sheets(hoja).Select
                una = False
            Else
                Sheets(hoja).Select Replace:=False
            End If
        End If
    Next
    If una Then
        MsgBox "Debes seleccionar al menos una hoja", vbExclamation, "GENERAR PDF"
    Else
        ruta = ThisWorkbook.Path & "\"
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=ruta & "archivo2.pdf", Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=CheckBox1
        Sheets(hact).Select
        MsgBox "Archivo PDF generado", vbInformation, "GENERAR PDF"
    End If
End Sub
'
Private Sub UserForm_Activate()
'Por.Dante Amor
    For Each h In Sheets
        If h.Name <> ActiveSheet.Name Then
            If h.Visible = -1 Then
                ListBox1.AddItem h.Name
            End If
        End If
    Next
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas