У меня возникают некоторые проблемы при работе с вызовами и при работе с несколькими книгами. У меня есть макрос, который обновляет некоторые таблицы Excel, используя некоторые данные. Всем 5 из этих таблиц присваивается переменная с именем файла и путем к файлу. Когда я запускаю второй SUB / Macri для сохранения и закрытия всех 5 из этих рабочих книг после того, как они закончат обновление - он не выбирает правильные рабочие книги, даже если им присвоены те же имена переменных, что и в предыдущем макросе. Поэтому я считаю, что моя проблема в том, что - если рабочие книги уже открыты, я тоже не могу связать их с переменной. - Я предполагаю, что если имя файла и путь к файлу верны, открытые рабочие книги могут быть заданы как переменные и затем иметь возможность их закрывать - Мысли?
Sub CloseWorkbooks()
Dim MB, WB1, WB2, WB3, WB4, WB5 As Workbook
Dim FP1, FN1, FN2, FN3, FN4, FN5 As String
FP1 = "G:\DATA......"
FN5 = "Book1.xlsx"
FN2 = "Book2.xlsx"
FN3 = "Book3.xlsx"
FN4 = "Book4.xlsx"
FN1 = "Book5.xlsx"
Application.DisplayAlerts = False
Set WB1 = Workbooks.Open(Filename:=FP1 & FN1)
WB1.Activate
WB1.Save
'Application.Wait (Now + TimeValue("00:00:05"))
WB1.Close
Set WB2 = Workbooks.Open(Filename:=FP1 & FN2)
WB2.Activate
WB2.Save
'Application.Wait (Now + TimeValue("00:00:05"))
WB2.Close
Set WB3 = Workbooks.Open(Filename:=FP1 & FN3)
WB3.Activate
WB3.Save
Application.Wait (Now + TimeValue("00:00:02"))
WB3.Close
Set WB4 = Workbooks.Open(Filename:=FP1 & FN4)
WB4.Activate
WB4.Save
Application.Wait (Now + TimeValue("00:00:02"))
WB4.Close
Set WB5 = Workbooks.Open(Filename:=FP1 & FN5)
WB5.Activate
WB5.Save
Application.Wait (Now + TimeValue("00:00:02"))
WB5.Close
End Sub
Это работает, если рабочие листы НЕ открыты, но это не работает, если рабочие листы открыты - это то, чего я хочу добиться sh. Предыдущий макрос открывает все рабочие таблицы и обновляет их. Я хочу, чтобы этот макрос (2-й, показанный выше) сохранял и закрывал все рабочие книги.
-Спасибо.