Имеется ситуация: выгружаем данные из "Галактики" в шаблон FileXltForJava.xlt из JavaScript, который содержит один лист "Отчёт" и нехитрый макрос:
Код: Выделить всё
Sub DownLoad()
Dim book As String
Dim sheet As String
book = Application.ActiveWorkbook.Name
sheet = Application.ActiveSheet.Name
Workbooks(book).Activate
With Application.Workbooks(book)
Sheets("Gal_VarSheet").Visible = False 'Здесь ошибку выдаёт
Sheets("Gal_TblSheet").Visible = False
End With
Worksheets("Gal_VarSheet").Activate
Dim strDtb As String, strNom As String
strDtb = Range("C2").Value
strNom = Range("C3").Value
Worksheets("Отчёт").Activate
Range("F7").Value = strDtb
Range("D7").Value = strNom
End Sub
Проблема: если привязать макрос DownLoad на событие Workbook_Open(), то он запускается до того, как сформируются листы "Gal_VarSheet" и "Gal_TblSheet", и выдаёт ошибку- нет листа.
Вопрос: как запустить DownLoad после того, как появятся все листы?
Вопрос исключительно по VBA, может кто решал такую задачу.