microsoft visual basic runtime error 9 subscript out of range как исправить
Индекс выходит за пределы допустимого диапазона (ошибка 9)
К элементам массива и коллекции можно обращаться только в пределах их допустимых диапазонов. Эта ошибка имеет следующие причины и способы решения:
Вы обратились к несуществующему элементу массива. Возможно, заданный индекс выходит за пределы диапазона допустимых индексов или размеры массива не соответствуют параметрам, присвоенным на данном этапе приложения. Проверьте верхнюю и нижнюю границы, заданные при объявлении массива. Используйте функции UBound и LBound, чтобы обуславливать доступ к массивам, если вы работаете с массивами, которые имеют другие измерения. Если индекс указан как переменная, проверьте правильность имени переменной.
Массив был объявлен без определения числа элементов. Например, ниже показано сообщение об ошибке, полученное при запуске такого кода:
Вы обратились к несуществующему элементу коллекции. Вместо указания индексов попробуйте обработать элементы массива с помощью конструкции For Each. Next.
Вы использовали сокращенную форму индекса, который неявно указывал недопустимый элемент. Например, если вы используете ! оператор с коллекцией — ! неявно указывает ключ. Например, объект!ключевоеИмя. значение эквивалентно объекту. элемент (ключевоеИмя). значение. В этом случае возникает ошибка, если ключевоеИмя обозначает недопустимый ключ в коллекции. Чтобы исправить ошибку, используйте правильное имя ключа или индекс для коллекции.
Для получения дополнительной информации выберите необходимый элемент и нажмите клавишу F1 (для Windows) или HELP (для Macintosh).
Хотите создавать решения, которые расширяют возможности Office на разнообразных платформах? Ознакомьтесь с новой моделью надстроек Office. Надстройки Office занимают меньше места по сравнению с надстройками и решениями VSTO, и вы можете создавать их, используя практически любую технологию веб-программирования, например HTML5, JavaScript, CSS3 и XML.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Subscript out of range (Error 9)
Elements of arrays and members of collections can only be accessed within their defined ranges. This error has the following causes and solutions:
You referenced a nonexistent array element. The subscript may be larger or smaller than the range of possible subscripts, or the array may not have dimensions assigned at this point in the application. Check the declaration of the array to verify its upper and lower bounds. Use the UBound and LBound functions to condition array accesses if you are working with arrays that are redimensioned. If the index is specified as a variable, check the spelling of the variable name.
You declared an array but didn’t specify the number of elements. For example, the following code causes this error:
You referenced a nonexistent collection member. Try using the For Each. Next construct instead of specifying index elements.
You used a shorthand form of subscript that implicitly specified an invalid element. For example, when you use the ! operator with a collection, the ! implicitly specifies a key. For example, object!keyname. value is equivalent to object. item (keyname). value. In this case, an error is generated if keyname represents an invalid key in the collection. To fix the error, use a valid key name or index for the collection.
For additional information, select the item in question and press F1 (in Windows) or HELP (on the Macintosh).
Interested in developing solutions that extend the Office experience across multiple platforms? Check out the new Office Add-ins model. Office Add-ins have a small footprint compared to VSTO Add-ins and solutions, and you can build them by using almost any web programming technology, such as HTML5, JavaScript, CSS3, and XML.
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.
Ошибка «Subscript out of range»
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Вложения
Книга1.rar (765.6 Кб, 8 просмотров) |
Ошибка «Run-time error «9»: Subscript out of range»
Доброго времени суток. Программа выводит ошибку «Run-time error «9»: Subscript out of range», но не.
Ошибка «Subscript out of range» при работе с индексами массива
Добрый день! Никак не могу понять природу ошибки. Массиву присваивается диапазон значений, но как.
Ошибка при работе с матрицей «Subscript out of range»
Всем привет, есть код : Private Sub cmd_start_Click() Dim x(4) As Single, y(7) As Single, S.
Ошибка с векторами «expression:vector subscript out of range»
Здваствуйте, при запуске программы вылазит ошибка «expression:vector subscript out of range».
у вас нет в модулях обязательной строки Option Explicit и у вас не проходит компиляция
следовательно невозможно гарантировать выполнение и то, что другой модуль знает это имя
Решение
pasha7598, смотрю на строки кода (рар у меня не читается) и думаю, а зачем там оператор With?
Если Worksheets(НовыйЛист) и Worksheets(НазваниеЛиста) находятся оба в Workbooks(НазваниеКниги), то он просто не нужен, а если книги разные, то тогда ясно почему вылетает ошибка, надо перед одним из листов поставить точку.
Добавлено через 2 минуты
Или активной в момент выполнения этого кода является не та книга, которую вы бы хотели
error ‘9’
1 ответ
Индекс выходит за пределы допустимого диапазона (Ошибка 9)
Недопустимы ссылки на элементы массивов и компоненты семейств, лежащие вне диапазона, указанного при описании. Причины возникновения этой ошибки и способы ее устранения:
· Была предпринята попытка сослаться на несуществующий элемент массива.
Возможно, что указанный индекс выходит за пределы допустимого диапазона, или что размерности массива не соответствуют определенным ранее в приложении. Проверьте описание массива, чтобы определить его верхнюю и нижнюю границы индексов. При работе с массивами, размерности которых меняются динамически, следует использовать функции UBound и LBound. Если индекс указан как переменная, проверьте написание имени переменной.
· При описании массива не указано число его элементов. Например, следующие инструкции вызовут данную ошибку:
Dim MyArray() As Integer
MyArray(8) = 234 ‘ Вызывает ошибку 9.
Visual Basic не определяет неявно диапазоны массива, которые не были указаны, например, 0 –10. Поэтому следует использовать инструкцию Dim или ReDim для явного указания числа элементов в массиве.
· Была предпринята попытка сослаться на несуществующий компонент семейства.
Попробуйте использовать конструкцию For Each. Next вместо указания индексов.
· Была использована сокращенная форма индекса, который неявно указал на недопустимый элемент.
Для получения дополнительных сведений выберите требуемый элемент и нажмите клавишу F1.
Ошибка Run time error ‘9’:
Пишет ошибку Run time error ‘9’:
subscript out of range.
Ошибка run time error
Здравствуйте. Помогите пожалуйста, при запуске макроса выдает ошибку «Run-time error ‘-2147467259.
Ошибка Run-time error 76
Добрый день! У меня есть вот такой код для копирования файлов с одной папки в другую. Sub.
Ошибка Run-time error ‘ 13’
Добрый день! Помогите, пожалуйста, исправить! Есть макрос и выдается ошибка.
Ошибка Run-time error ’13’
При заполнении таблицы на 3-4 строке выскакивает вот это; ‘общая стоимость Dim a As Currency a.
Доброго времени суток. Наверное правильнее будет так:
Добавлено через 11 минут
Вариант с ThisWorkbook работает, но я же хочу сослаться на конкретную книгу.
ahilles13_88, посмотри, какие книги доступны, выполнив этот код:
Нет, я просто учусь и по ходу выполняю упражнения. В данном случае нужно прописать в конкретной книге листе ячейке слово «Test»
Добавлено через 7 минут
Выполнил ваш код, отобразилось название книги с расширением list.xlsm
Соответственно поменял у себя и всё заработало. Спасибо вам огромное!
Только не могу понять, это всегда книги нужно отображать с расширением?
Добавлено через 2 минуты
Option Explicit
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Ошибка: Run-time error ‘5’
Доброго времени суток! Совсем недавно занялась изучением VBA и столкнулась с проблемой. Имеется.
Ошибка run-time error 1004
Sub pract() korp = Val(InputBox(«Введите номер столбца, где находятся адреса: «, «Столбец», 5)).
Ошибка 424 run-time error
Добрый день, написала макрос, все работало, потом открыла этот файл на компьютере с англ. версией.
Ошибка Run-time error 1004
Добрый день! Вылетает ошибка после строки: Set y = Workbooks.Open(«K:\Bond Prod.MX\MX\mx.xlsm».
Выскакивает ошибка run-time error 2105
Option Compare Database ‘Option Explicit Function otcet8() Dim mes As String mes =.