Necesitas separar todas tus hojas en un archivo diferente?
Con este código crearás un archivo por cada una de las hojas que tengas en un archivo.
Código de la macro
Sub ArchivoPorHoja()
Dim nHojas As Integer
Dim i As Integer
Dim Archivo As String
Dim NombreHoja As String
Dim Titulo As String
Dim GuardarComo As Variant
Dim Extension As String
On Error GoTo Errores:
Titulo = «ExcelyFinanzas»
Archivo = ThisWorkbook.Name
nHojas = ThisWorkbook.Sheets.Count
For i = 1 To nHojas
NombreHoja = Sheets(i).Name
Sheets(i).Copy
Seguir:
GuardarComo = Application.GetSaveAsFilename(NombreHoja, «Libro de Excel(.xlsx),.xlsx, Libro de Excel habilitado para macros(.xlsm),.xlsm», , Titulo)
Extension = VBA.Right(GuardarComo, 4)
Select Case Extension
Case Is = "xlsx"
ActiveWorkbook.SaveAs GuardarComo
Case Is = "xlsm"
ActiveWorkbook.SaveAs GuardarComo, xlOpenXMLWorkbookMacroEnabled
Case Else
Exit Sub
End Select
Windows(Archivo).Activate
Next i
Exit Sub
Errores:
If Err.Number = 1004 Then
MsgBox «Tiene que elegir otro nombre para este archivo, este ya esta en uso», vbCritical + vbOKOnly, Titulo
GoTo Seguir
Else
End If
End Sub
Como copiar y pegar el código
Como insertar una macro en la cinta de opciones personalizada