Здравствуйте.
Прошу помощи клуба в дописании макроса.
Вкратце: есть несколько файлов, один из которых является "собирающим" данные из других книг. При этом сам этот "собирающий" файл ничего не собирает - его открывает макрос, записанный во всех остальных книгах, вставляет данные, сохраняет и закрывает "собирающий" файл.
Вот этот макрос:
Private Sub CommandButton1_Click()
Dim ipath As String, iipath As String
ipath = ThisWorkbook.Path
iipath = ipath + "\Собирающий.xlsx"
Range("A1:H1").Copy
Workbooks.Open (iipath)
Range("Paste1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.Close True
End Sub
Paste1 - это имя в "собирающем" файле, адресующее в первую незаполненную строку диапазона =СМЕЩ(Лист1!$A$1;СЧЁТЗ(Лист1!$A$1:$A$1000);0)
Проблема в следующем: т.к. с файлами-поставщиками данных одновременно может работать несколько пользователей, нужно предупредить появление ошибки открытия и сохранения файла, уже кем-то открытого. Предполагаю, тут нужен какой-то цикл, повторяющий действие до тех пор, пока "собирающий" файл освободится, но как его написать - не приложу ума. Помогайте, друзья!
Прошу помощи клуба в дописании макроса.
Вкратце: есть несколько файлов, один из которых является "собирающим" данные из других книг. При этом сам этот "собирающий" файл ничего не собирает - его открывает макрос, записанный во всех остальных книгах, вставляет данные, сохраняет и закрывает "собирающий" файл.
Вот этот макрос:
Private Sub CommandButton1_Click()
Dim ipath As String, iipath As String
ipath = ThisWorkbook.Path
iipath = ipath + "\Собирающий.xlsx"
Range("A1:H1").Copy
Workbooks.Open (iipath)
Range("Paste1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.Close True
End Sub
Paste1 - это имя в "собирающем" файле, адресующее в первую незаполненную строку диапазона =СМЕЩ(Лист1!$A$1;СЧЁТЗ(Лист1!$A$1:$A$1000);0)
Проблема в следующем: т.к. с файлами-поставщиками данных одновременно может работать несколько пользователей, нужно предупредить появление ошибки открытия и сохранения файла, уже кем-то открытого. Предполагаю, тут нужен какой-то цикл, повторяющий действие до тех пор, пока "собирающий" файл освободится, но как его написать - не приложу ума. Помогайте, друзья!