VBA макро индекс вне диапазона - PullRequest
0 голосов
/ 09 января 2020

Не могу понять, почему я получаю ошибку во время выполнения во второй строке. Помогите пожалуйста

Dim wb As Workbook 
Set wb = Workbooks(PLC)
wb.Close SaveChanges:False
Application.DisplayAlerts=True
End sub

Ответы [ 2 ]

0 голосов
/ 09 января 2020

Когда вы откроете рабочую книгу sh, вы должны использовать метод Workbooks.Open. Рабочие книги (индекс) применяются только к рабочим книгам, которые уже открыты. Вы можете проверить, открыта ли рабочая книга, например,

Dim wb as workbook, isOpen as boolean, myName as string

myName = "PLC"
bIsOpen = false
For each wb in Workbooks 
    If wb.Name = myName Then
        bIsOpen = true
    End if
Next wb

и использовать результат на следующем шаге.

0 голосов
/ 09 января 2020

дать этому шанс
Sub test ()

Dim wb As Workbook
Set wb = Workbooks("PLC.xlsx")
wb.Close SaveChanges:=False
Application.DisplayAlerts = True
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...