Cerrar los libros abiertos que seleccione
Estimados,
Necesito su ayuda , lo que pasa que seleccione algunos libros con getopenfile, y ahora quiero cerrar solo esos libros seleccionados, les dejo la macro para que puedan orientarme.
Application.ScreenUpdating = False Application.EnableEvents = False ActiveSheet.DisplayPageBreaks = False '-------------------------------------- 'Abrir Libros MiArchivo = Application.GetOpenFilename("Archivos Excel (*.xls*), *.xls*", , "Selecciona los archivos a trabajar", , True) If TypeName(MiArchivo) = "Boolean" Then Exit Sub For I = LBound(MiArchivo) To UBound(MiArchivo) Workbooks.OpenText Filename:=MiArchivo(I) Next I '--------------------------------------- Workbooks("Planilla INWK ver 1.2.xlsm").Activate If ActiveSheet.Name = "Datos" Or ActiveSheet.Name = "Panel" Or ActiveSheet.Name = "ReportCliente" Or ActiveSheet.Name = "Consolidado" Then ActiveWorkbook.Sheets("DATOS").Range("C2").Value = "" Unload PlanillaForm Exit Sub End If ActiveWorkbook.Sheets("DATOS").Range("C2").Value = "NO" Reporte = ActiveSheet.Parent.Name Call UbicacionCampos For I = LBound(MiArchivo) To UBound(MiArchivo) + 1 'Buscar duplicados Nombrelibro = LTrim(Mid(MiArchivo(I), 1 + InStrRev(MiArchivo(I), "\"))) Workbooks(Nombrelibro).Activate NCot = Range("K4").Value Call ContadorCel CantLin = vlCont - 2 Workbooks(Reporte).Activate Call ContadorCel FinReport = vlCont + 6 Final = FinReport + CantLin For X = 9 To Final PosBus = CStr(Código) + CStr(X) CodRepor = Range(PosBus).Value If NCot = CodRepor Then C = 1 End If Next X If C = 1 Then vlContLib = vlContLib + 1 C = 0 Else Call Copiarinfo Call Formulas Call Formatos End If Next I '--------------------------------- 'Cerrar Libro 'For vlLibro = 1 To Fin 'If ActiveWorkbook.Parent.Name <> ThisWorkbook.Name Then 'Workbooks.Close savechanges:=False 'End If 'Next vlLibro '--------------------------------- Workbooks(Reporte).Activate ActiveWorkbook.Sheets("DATOS").Range("C2").Value = "" 'ActiveWorkbook.Save 'Call CerrarLibros Unload PlanillaForm
Gracias y Saludos
1 respuesta
Respuesta de Dante Amor
1