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:=False
el 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