Guardar Ciertas hojas en libros distintos en la misma ruta
Tardes o noches (según su uso horario), tengo este código para guardar las hojas de mi libro, pero este código guarda todas las hojas que le indique de mi libro en otro libro
Dim VentanasProtegidas As BooleanDim EstructuraProtegida As BooleanDim NombreHoja As StringDim Confirmacion As StringDim NombreArchivo As StringDim GuardarComo As VariantDim Extension As String''En caso de error.On Error GoTo ErrorHandler''Validamos si la ventana o la estructura del archivo están protegidos.VentanasProtegidas = ActiveWorkbook.ProtectWindowsEstructuraProtegida = ActiveWorkbook.ProtectStructure''En caso de estar protegidas mostramos mensaje.If VentanasProtegidas = True Or EstructuraProtegida = True Then MsgBox "No se puede ejecutar el comando cuando la estructura del archivo está protegida.", _ vbExclamation, "Advertencia"Else ' 'Copiamos la hoja y guardamos. NombreHoja = ActiveSheet.Name Confirmacion = MsgBox("Desea guardar la hoja '" & NombreHoja & "' como archivo nuevo?", _ vbQuestion + vbYesNo, "Confirmacion") Application.ScreenUpdating = True If Confirmacion = vbYes Then Sheets(Array("Hoja1", "incidencia", "SobreTiempo", "Dias_Mezcladoras", "Dias_Bombas", "Tuberias_adicionales", "M3_Volqueta", "M3_Cisterna_Agua", "M3_Cisterna_Cemento")).Copy Dim semana As Integer ' para calcular el numero de la semana semana = DatePart("ww", Date, vbMonday) - 1 NombreArchivo = "Nomina semana " & semana GuardarComo = Application.GetSaveAsFilename(InitialFileName:=NombreHoja, _ filefilter:="Libro de Excel(*.xlsx), *.xlsx, Libro de Excel habilitado para macros(*.xlsm), *.xlsm, Libro de Excel 97-2003(*.xls), *.xls,CSV (delimitado por comas)(*.csv),*.csv", _ Title:="Guardar Como") If GuardarComo = False Then Workbooks(NombreArchivo).Close SaveChanges:=False Else With Application.WorksheetFunction Extension = .Trim(Right(.Substitute(GuardarComo, ".", .Rept(" ", 500)), 500)) End With Select Case Extension Case Is = "xlsx" ActiveWorkbook.SaveAs GuardarComo Case Is = "xlsm" ActiveWorkbook.SaveAs GuardarComo, xlOpenXMLWorkbookMacroEnabled Case Is = "xls" ActiveWorkbook.SaveAs GuardarComo, xlExcel8 Case Is = "csv" ActiveWorkbook.SaveAs GuardarComo, xlCSV Case Else ActiveWorkbook.SaveAs GuardarComo End Select Application.ActiveWorkbook.Close SaveChanges:=False End If Else End IfEnd If'Application.ActiveWorkbook.Close SaveChanges:=FalseExit Sub''En caso de error mostramos un mensaje.ErrorHandler:MsgBox "Ha ocurrido un error: " & Err.Description, vbExclamation, "ERROR"Workbooks(NombreArchivo).Close SaveChanges:=False
Lo que quiero es que por ejemplo la Hoja1, Hoja2, Hoja3 se guarden en un libro que se llame Nomina
Y las hoja4, hoja5, hoja6, se guarden en otro libro que se llame Controles.
Todo esto en la misma ruta que elijo.
1 respuesta
Respuesta de Elsa Matilde
1