У меня в рабочем массиве, который я изначально написал для Функции, вдруг возникла ошибка, когда я этот же массив установил в кнопку, что бы взять из него данные. Теперь он пишет ошибку с кодом 9 - Subscript out of range.
Хотя массив за недопустимый диапазон не выходит. Изначально массив ограничен 12 и счет ведется с 1 числа (Option Base 1). И за этот диапазон мы не выходим. Ошибка возникает сразу на 1 же числе.
Я прикрепляю файл, где писал код. по возможности все лишнее я из него убрал. В файле нужно щелкнуть на ячейку "СВОДНАЯ" и запуститься UserForm, там нажать ОК и аля ошибка.
Я программист любитель, по этому многих тонкостей программирования не знаю. По этому если сможете помочь и дать развернутый ответ, и предложить решение, буду безмерно благодарен.
ошибка возникает вот в этом кусочке кода: [vba]
Код
For i = LBound(iNumMontArr) To UBound(iNumMontArr) MsgBox CInt(iNumMontArr(i)) ' < ===== ОШИБКА!
'If CInt(iNumMontArr(i)) <> 0 Then ' Массив содержащий номера тех месяцев что используются в МП 'Year = Me.Controls("TextBoxYar_" & i).Value ' обязательный аргумент, год. 'NumMonth = Val(Me.Controls("Label" & i).Caption)
'MsgBox NumMonth & " " & Year 'End If Next
[/vba]
p.s. Не могу файл прикрепить. удалил из него все... что то только можно было. И всеравно превышение на 60кб... ну кто ж такие ограничения то создает? (
Всем добрый день.
У меня в рабочем массиве, который я изначально написал для Функции, вдруг возникла ошибка, когда я этот же массив установил в кнопку, что бы взять из него данные. Теперь он пишет ошибку с кодом 9 - Subscript out of range.
Хотя массив за недопустимый диапазон не выходит. Изначально массив ограничен 12 и счет ведется с 1 числа (Option Base 1). И за этот диапазон мы не выходим. Ошибка возникает сразу на 1 же числе.
Я прикрепляю файл, где писал код. по возможности все лишнее я из него убрал. В файле нужно щелкнуть на ячейку "СВОДНАЯ" и запуститься UserForm, там нажать ОК и аля ошибка.
Я программист любитель, по этому многих тонкостей программирования не знаю. По этому если сможете помочь и дать развернутый ответ, и предложить решение, буду безмерно благодарен.
ошибка возникает вот в этом кусочке кода: [vba]
Код
For i = LBound(iNumMontArr) To UBound(iNumMontArr) MsgBox CInt(iNumMontArr(i)) ' < ===== ОШИБКА!
'If CInt(iNumMontArr(i)) <> 0 Then ' Массив содержащий номера тех месяцев что используются в МП 'Year = Me.Controls("TextBoxYar_" & i).Value ' обязательный аргумент, год. 'NumMonth = Val(Me.Controls("Label" & i).Caption)
'MsgBox NumMonth & " " & Year 'End If Next
[/vba]
p.s. Не могу файл прикрепить. удалил из него все... что то только можно было. И всеравно превышение на 60кб... ну кто ж такие ограничения то создает? (lopuxi
О_о ...и так можно было?
Сообщение отредактировал lopuxi - Вторник, 20.10.2015, 12:37
К сожалению я удалил все что только мог в своем файле, он сжался до 139кб... осталась только форма, без лишних элементов, два листа книги которые нельзя удалить, но они практически пусты... и сам код. Все... я даже загоняю в архив файл, но до 100кб он не сжимается... пипец
К сожалению я удалил все что только мог в своем файле, он сжался до 139кб... осталась только форма, без лишних элементов, два листа книги которые нельзя удалить, но они практически пусты... и сам код. Все... я даже загоняю в архив файл, но до 100кб он не сжимается... пипецlopuxi
О_о ...и так можно было?
Сообщение отредактировал lopuxi - Вторник, 20.10.2015, 12:54