Seleccionar Rango de Hojas y Exportar a Pdf

Aquí alguien muy novato que tengo el siguiente problema con la exportación a pdf de unas hojas, os explico.
Tengo un rango variable de Hojas, desde la Hoja 4 hasta la ultima Hoja, son variables, pueden ser 10, como ser 50 hojas. Las seleccione y las exporte a un único archivo pdf.

Sub CommandButton2_Click()
    Dim i As Integer
    Dim miArray() As Integer
    Dim ultimaHoja As Integer
    Dim tamanoArray As Integer
    pdfName = Hoja2.Name
    ChDir ActiveWorkbook.Path & "\"
    fileSaveName = Hoja2.Name
    ultimaHoja = Sheets.Count
    tamanoArray = (Hoja2.Range("I2").Value + 5)
ReDim miArray(ultimaHoja)
      Hoja3.Activate
   Sheets(miArray(ultimaHoja)).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
'        fileSaveName _
'        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
'        :=False, OpenAfterPublish:=True

Esto es lo que tengo hecho, pero creo que no he metido los datos en el array y además me da un error con la dimensión del Array, pero tampoco se resolverlo...

1 Respuesta

Respuesta
1

Te anexo la macro actualizada, para copiar de la hoja4 hasta la última en un pdf

Sub CommandButton2_Click()
'Por.Dante Amor
    Dim hojas()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    ruta = ThisWorkbook.Path
    arch = Hoja2.Name
    n = -1
    For h = 4 To Sheets.Count
        n = n + 1
        ReDim Preserve hojas(n)
        hojas(n) = Sheets(h).Name
    Next
    If n > -1 Then
        Sheets(hojas).Copy
        ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _
            Filename:=ruta & arch & ".pdf", _
            Quality:=xlQualityStandard, IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, OpenAfterPublish:=True
        ActiveWorkbook.Close
    End If
    MsgBox "Pdf creado"
End Sub

.

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

.

Avísame cualquier duda

.

Muchísimas gracias.

Funciona Perfecto, aunque me colapsa un poco el pc a partir de 10-12 páginas, realiza perfecta su función!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas