Macro para crear un nuevo archivo de excel con un botón
Dante te adjunto nuevamente una consulta para crear una nueva macro a través de un botón.
Me has apoyado en crear la macro que genere un nuevo archivo en formato Excel a través de un botón, siendo estas 3 hojas distintas a las que se les crea nuevo archivo, ahora quisiera poder que a través de un nuevo botón genere automáticamente las 3 hojas en un nuevo archivo y si fuese posible un botón para formato Excel y otro para pdf, porque muchas veces me lo piden de las dos formas.
Te adjunto la macro que esta actualmente pero que genera hoja por archivo en excel
Sub xls_Creditos()
'Nombre de la hoja , nombre del archivo
Call Crear_xls("Análisis de Créditos", "Analisis_de_Creditos", "J", "J", "L")
End Sub
'
Sub xls_Debitos()
'Nombre de la hoja , nombre del archivo
Call Crear_xls("Análisis de Débitos", "Analisis_de_Debitos", "E", "E", "H")
End Sub
'
Sub xls_Transferencia()
'Nombre de la hoja , nombre del archivo
Call Crear_xls("Junta Directiva (Imprimir)", "Junta Directiva (Imprimir)", "C", "D", "E")
End Sub
'
Sub Crear_xls(hoja, nombre, col1, col2, col3)
Dim h1 As Worksheet, h2 As Worksheet
Dim wb As Workbook
Dim i As Long
'
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'
Set h1 = Sheets(hoja)
h1.Unprotect ("regional2018")
h1.Cells.EntireRow.Hidden = False
h1.Copy
Set wb = ActiveWorkbook
Set h2 = wb.Sheets(1)
h2.UsedRange.Value = h2.UsedRange.Value
h2.Range(col3 & 1, h2.Cells(1, Columns.Count)).EntireColumn.Delete
'
For i = h2.Range(col1 & Rows.Count).End(3).Row To 7 Step -1
If h2.Range(col1 & i) = 0 And h2.Range(col2 & i) = 0 Then
h2.Range(col1 & i).EntireRow.Delete
End If
Next i
wb.SaveAs ThisWorkbook.Path & "\" & nombre & ".xlsx", xlOpenXMLWorkbook
wb.Close False
'
Application.ScreenUpdating = True
h1.Protect ("regional2018")
MsgBox "Hoja: " & hoja & ". Guardada en un nuevo archivo: " & nombre
End Sub
1 respuesta
Respuesta de Dante Amor
1