Bueno, se viene la versión final:
Código:
Sub Auto_Close()
Application.ScreenUpdating = False
MyBook = ActiveWorkbook.Name
MiPath = ActiveWorkbook.Path
If MiPath = "" Then MiPath = "C:"
For ii = 1 To Sheets.Count
Workbooks(MyBook).Sheets(ii).Copy
Application.DisplayAlerts = False
ActiveWorkbook.Close SaveChanges:=True, _
FileName:=MiPath + "\" + ActiveSheet.Name
Application.DisplayAlerts = True
Next
Application.ScreenUpdating = True
End Sub
COMENTARIOS:
MiPath = ActiveWorkbook.Path Indica donde está ubicado el archivo donde residen las hojas a guardar
If MiPath = "" Then MiPath = "C:" Si el archivo anterior no había sido guardado, entonces las nuevas hojas se guardan en "C:\".
Application.DisplayAlerts = False Si ya existiesen hojas con el mismo nombre, la aplicación consultaría lo habitual (El archivo 'tal' existe ¿Desea reemplazarlo?). Con esta propiedad se impide tal mensaje.
Saludos