Error en macro para guardar archivo
Tengo el siguiente código
Dim VentanasProtegidas As Boolean
Dim EstructuraProtegida As Boolean
Dim NombreHoja As String
Dim Confirmacion As String
Dim NombreArchivo As String
Dim GuardarComo As Variant
Dim Extension As String
'
'En caso de error.
On Error GoTo ErrorHandler
'
semana = Year(Date)
'Validamos si la ventana o la estructura del archivo están protegidos.
VentanasProtegidas = ActiveWorkbook.ProtectWindows
EstructuraProtegida = 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 = semana
Confirmacion = MsgBox("Desea Guardar La Informacion Del Año '" & NombreHoja & "' como archivo nuevo?", _
vbQuestion + vbYesNo, "Confirmacion")
Application.ScreenUpdating = True
If Confirmacion = vbYes Then
' Sheets("Hoja1").Select
' Sheets("Hoja1").Copy
Sheets(Array("Inventario", "Salidas_Enero", "Salidas_Febrero", "Salidas_Marzo", "Salidas_Abril", "Salidas_Mayo", "Salidas_Junio", "Salidas_Julio", "Salidas_Agosto", "Salidas_Septiembre", "Salidas_Octubre", "Salidas_Noviembre", "Salidas_Diciembre", "Entrada_Enero", "Entrada_Febrero", "Entrada_Marzo", "Entrada_Abril", "Entrada_Mayo", "Entrada_Junio", "Entrada_Julio", "Entrada_Agosto", "Entrada_Septiembre", "Entrada_Octubre", "Entrada_Noviembre", "Entrada_Diciembre", "Departamento", "Totales")).Copy
NombreArchivo = "Inventario del año " & semana
GuardarComo = Application.GetSaveAsFilename(InitialFileName:="Inventario del año " & 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
Call RecorreLibro(NombreArchivo)
Application.ActiveWorkbook.Close SaveChanges:=True
'Call BorraDatos
End If
Else
End If
End If
'Application.ActiveWorkbook.Close SaveChanges:=False
Exit Sub
'En caso de error mostramos un mensaje.
ErrorHandler:
MsgBox "Ha ocurrido un error: " & Err.Description, vbExclamation, "ERROR"
'Workbooks(NombreArchivo).Close SaveChanges:=Falseel problema se da que al llegar a esta instruccion
Select Case Extension
Case Is = "xlsx"
ActiveWorkbook. SaveAs GuardarComo
Me arroja el siguiente error.

La verdad no se que este sucediendo. Si alguno puede ayudarme estaré agradecido.
1 Respuesta
Respuesta de Dante Amor
1
