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 Sub
Para 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