** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Guardar cada hoja en un libro nuevo
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoGuardar cada hoja en un libro nuevo

 Responder Responder
Autor
Mensaje
jfca283 Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 05/Junio/2008
Localización: Chile
Estado: Sin conexión
Puntos: 241
Enlace directo a este mensaje Tema: Guardar cada hoja en un libro nuevo
    Enviado: 16/Agosto/2021 a las 03:28
Buenas,
Tengo un código que no puedo adaptar para que guarde cada hoja como un libro xlsx.

Sub MACRO1()

Dim ws As Worksheet
Dim ruta As String
Dim carpeta As FileDialog

Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show <> -1 Then Exit Sub

salidas = carpeta.SelectedItems(1)

For Each ws In Application.ActiveWorkbook.Worksheets

ws.SaveAs salidas & "\" & ws.Name, FileFormat:=51

Next

End Sub


Ese código guarda varias veces el mismo archivo, completo, con los nombres de cada hoja.
Es decir, si tiene 10 hojas con nombres "1","2", "3"..."10", se guardarán los archivos xlsx "1.xlsx","2.xlsx", "3.xlsx", ...10.xlsx"
Sin embargo, yo quiero guardar solo la hoja "1" como el xlsx "1.xlsx", la hoja "2" como el xlsx "2.xlsx", y así...
No logro guardar cada hoja sin complejizar el código.
Se antemano, gracias por la ayuda.
Saludos
Arriba
jfca283 Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 05/Junio/2008
Localización: Chile
Estado: Sin conexión
Puntos: 241
Enlace directo a este mensaje Enviado: 16/Agosto/2021 a las 04:02
Lo resolví así:

Sub MACRO1()

Dim ws As Worksheet
Dim ruta As String
Dim carpeta As FileDialog

Set folder = Application.FileDialog(msoFileDialogFolderPicker)
If folder.Show <> -1 Then Exit Sub

salidas = carpeta.SelectedItems(1)

For Each ws In Application.ActiveWorkbook.Worksheets

Select Case ws.Name

Case Is =1,2,3,4,5,6,7,8,9,10
Sheets(ws.Name).Select
Sheets(ws.Name).Copy

ActiveWorkbook.SaveAs ruta & "\" & ws.Name, FileFormat:=51
ActiveWorkbook.Close

End Select


Next


End Sub




    
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable