Рабочие тетради | Рабочие листы | Множество
'индекс вне диапазона'ошибка в Excel VBA происходит, когда вы ссылаетесь на несуществующий член коллекции или несуществующий элемент массива.
Поместите командную кнопку на свой рабочий лист и добавьте строки кода ниже. Чтобы выполнить строки кода, нажмите кнопку команды на листе.
Рабочие тетради
Коллекция Workbooks в Excel VBA содержит все открытые в данный момент объекты Workbook.
1. Строка кода ниже закрывает файл sales.xlsm.
Рабочие тетради ("sales.xlsm"). Закрыть
Результат, когда нет открытой книги с таким именем:
Примечание: чтобы исправить эту ошибку «индекс вне допустимого диапазона» (ошибка времени выполнения 9), откройте файл sales.xlsm перед нажатием кнопки управления.
Рабочие листы
Коллекция рабочих листов в Excel VBA содержит все объекты рабочего листа в книге. В нашей рабочей тетради 3 листа.
1. В приведенной ниже строке кода делается попытка поместить слово Hello в ячейку A1 на 4-м листе.
Рабочие листы (4) .Range ("A1"). Value = "Hello"
Результат при нажатии кнопки команды на листе:
Объяснение: появляется ошибка «индекс вне допустимого диапазона», потому что нет 4-го рабочего листа. Чтобы исправить эту ошибку, измените 4 на 1, 2 или 3 (или вставьте новый рабочий лист, щелкнув знак плюса).
Множество
Массив - это группа переменных. В Excel VBA вы можете ссылаться на конкретную переменную (элемент) массива, используя имя массива и номер индекса.
1. В первой строке кода ниже объявляется массив String с именем Films. Массив состоит из пяти элементов.
2. Далее мы инициализируем каждый элемент массива.
3. Последняя строка кода пытается отобразить 6-й элемент с помощью MsgBox.
Тусклые пленки (от 1 до 5) в виде строки
Films (1) = «Властелин колец»
Фильмы (2) = "Скорость"
Films (3) = «Звездные войны»
Films (4) = «Крестный отец»
Films (5) = «Криминальное чтиво»
Фильмы MsgBox (6)
Результат при нажатии кнопки команды на листе:
Объяснение: выскакивает ошибка «индекс вне допустимого диапазона», потому что нет шестого элемента. Чтобы исправить эту ошибку, измените 6 на 1, 2, 3, 4 или 5 (или объявите массив String с 6 элементами).