Добрый день. Файлы Excel привязанs к базе Access. Макрос открывает файлы Excel из папки по очереди, открывшийся файл обновляет из базы Access, просчитывает и далее сохраняет и закрывает, открывает следующий файл в папке, делает то же самое.
После строки обновления таблицы, на строке сохранения файла вылезает сообщение, о том, что это действие может привести к отмене обновления. Если нажать ОК, то файл не закроется и сразу же открывается следующий с такой же проблемой. Если нажать ОТМЕНА, то файл сохранится, но не обновится. Строку с сохранением файла можно ставить в любое место после строки Activeworkbook.RefreshAll, окно из скриншота все равно будет появляться на строке сохранения. Подскажите, как избежать этого окна с выбором ОК и ОТМЕНА, чтобы обновление, сохранение, закрытие и открытие нового файла Excel работало?
Скриншот окна во вложении. Макрос ниже.
Код |
---|
Sub perebor()
Dim s As String, fldr As String
'fldr = "C:\путь к файлу"
s = Dir(fldr & "файл *.xlsm")
Do While s <> ""
With Workbooks.Open(fldr & s)
ActiveWorkbook.RefreshAll
lr = Worksheets("Лист1").Cells(Rows.Count, 1).End(xlUp).Row
lc = Worksheets("Лист1").Cells(1, Columns.Count).End(xlToLeft).Column
Range(Cells(2, 9), Cells(lr, 9)).Clear
R_data = Worksheets("Лист1").Range(Worksheets("Лист1").Cells(1, 1), Worksheets("Лист1").Cells(lr, lc))
вычисления
Worksheets("Лист1").Cells.Delete
Worksheets("Лист1").Range(Worksheets("Лист1").Cells(1, 1), Worksheets("Лист1").Cells(lr, lc)) = R_data
ActiveSheet.ListObjects.Add(xlSrcRange, Range(Cells(1, 1), Cells(lr, lc)), , xlYes).Name = "Таблица2"
ActiveWorkbook.Save 'на этой строке выдает окно из скриншота.
ActiveWorkbook.Close
End With
s = Dir
Loop
End Sub |