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