Macro para crear un nuevo archivo de un archivo existente con un botón
Dante otra vez pidiendo tu apoyo
Te comento mi solicitud el archivo que has venido apoyándome tiene un botón que se llama crear archivo, el objetivo de este botón es crear un archivo nuevo en formato pdf, esta hoja tiene varias macros, las cuales son para ocultar y mostrar filas, ya hay una macro iniciada pero me da algunos errores y el archivo nuevo lo crea en formato excel y como el archivo tiene varias formulas de subtotales da error al final, por lo que quería ver si puedes revisarla.

Este es el código que tiene la hoja de créditos el cual al momento de presionar el botón ocultar filas únicamente deja las filas que en realidad se necesitan y es así como esta la imagen que se necesita que se cree el nuevo archivo en pdf, adjunto el código
Sub Crear_Archivo()
    Dim fila_ini As Double, col1 As String, c As Range
    Dim l2 As Workbook, h2 As Worksheet, i As Long
    Dim l1 As Workbook, h1 As Worksheet
    Application.ScreenUpdating = False
    Application.CopyObjectsWithCells = False
    Application.DisplayAlerts = False
    Set l1 = ThisWorkbook
    Set h1 = ActiveSheet
    Call desproteger
    fila_ini = 7
    col1 = "J"
    h1.Cells.EntireRow.Hidden = False
    h1.Copy
    Set l2 = ActiveWorkbook
    Set h2 = l2.Sheets(1)
    'For Each c In h2.UsedRange
        'c.Value = c.Value
    'Next
    For i = h2.Range("J" & Rows.Count).End(xlUp).Row To fila_ini Step -1
        If h2.Cells(i, col1) = 0 Then
            h2.Cells(i, col1).EntireRow.Delete
        End If
    Next i
    h1.Range("A1:I2").Copy h2.Range("A1")
    'h2.Range("A1").PasteSpecial xlPasteAll
    h2.Protect ("regional2018")
    l2.SaveAs ThisWorkbook.Path & "\" & "Analisis_de_Creditos.xlsx"
    l2.Close False
    Application.ScreenUpdating = True
    Application.CopyObjectsWithCells = True
    Call proteger
    MsgBox "Hoja guardada en un nuevo archivo."
End Sub
'
Sub mostrar_ocultar()
desproteger
    fila_ini = 7
    col1 = "J"
        '
    For i = fila_ini To Range("J" & Rows.Count).End(xlUp).Row
        If Cells(i, col1) > 0 Then
            Cells(i, col1).EntireRow.Hidden = False
        Else
            Cells(i, col1).EntireRow.Hidden = True
        End If
    Next i
    proteger
End Sub
Sub mostrar_FILAS()
desproteger
    fila_ini = 1
    col1 = "J"
    '
    For i = fila_ini To 200
            Cells(i, col1).EntireRow.Hidden = False
    Next i
    proteger
End Sub
Sub proteger()
Worksheets(3).Select
ActiveSheet.Protect ("regional2018")
End Sub
Sub desproteger()
Worksheets(3).Select
ActiveSheet.Unprotect ("regional2018")
End SubPara el caso de los débitos necesitamos lo mismo, para lo cual adjuntamos imagen sobre el boton de crear archivo, es decir que al momento de crear el nuevo archivo sea en pdf y se vea como en imagen

Al igual adjunto codigo el cual me da problemas para crearlo y lo hace en Excel
Y esta el la ultima hoja que tambien necesito crear un archivo nuevo en pdf

No me deja pegar los demás códigos por el exceso de los caracteres, pero puedo agregarlo despues, muy agradecida




