H o l a:
Te anexo la macro
Sub CopiarHojas()
'Por.Dante Amor
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'
Set l1 = ThisWorkbook
nombre = Sheets(1).[A5]
If nombre = "" Then
MsgBox "La celda A5 esta vacía, revisar.", vbCritical
Exit Sub
End If
If IsDate(nombre) Then
nombre = Format(nombre, "dd-mm-yyyy")
End If
una = True
For Each h In Sheets
If h.Visible = True Then
If una Then
una = False
h.Copy
Set l2 = ActiveWorkbook
Else
h.Copy After:=l2.Sheets(l2.Sheets.Count)
End If
End If
Next
'
ruta = l1.Path & "\"
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Selecciona una carpeta"
.AllowMultiSelect = False
.InitialFileName = ruta
If .Show <> -1 Then Exit Sub
cp = .SelectedItems(1)
End With
'
l2.SaveAs Filename:=cp & "\" & nombre & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
l2.Close
'
MsgBox "Hojas guardadas con el nombre: " & nombre, vbInformation, "COPIAR HOJAS"
End Sub
:)
S aludos. D a n t e A m o r. Recuerda valorar la respuesta. G r a c i a s
;)