Excel VBA Макросы: Почему происходит ошибка "Subscript out of range"?

Автор Посетитель, 29 мая 2020, 11:45

Посетитель

Почему происходит ошибка в этой строке?
Ошибка: Run-time error '9': Subscript out of range.

' Создание ссылки на лист-результат.
Set sh_res = bk_res.Worksheets(sh_src.Cells(i, "B").Value)

Администратор

В файле "bk_res" нет листа с таким именем.

В ячейке, из которой берётся имя листа, или нет имени листа или есть опечатки.
Например, есть правые концевые пробелы - их не видно в ячейке, поэтому юзер может не догадываться о том, что в ячейке есть пробелы.

Или наоборот: опечатки есть в имени листа (это имя записано на ярлычке листа). Т.е. в ячейке, откуда берётся имя, имя правильно записано, а у самого листа имя неправильное.

Посетитель


Администратор

Чтобы узнать, есть в ячейке пробелы или нет, поставьте курсор-рамку в ячейку, из которой берётся имя листа.
Затем в строке формул, справа, в самый конец поставьте курсор. Если пробелы справа есть, то вы увидите, что между текстом и курсором есть пустота.

Посетитель