Страницы: 1
RSS
ошибка "subscript out of range" при использовании byref аргумента как массива
 
Здравствуйте уважаемые форумчане. Не смог понять характер вызываемой ошибки "subscript out of range" в подпроцедуре. Если подпроцедуру использовать самостоятельно как процедуру то ошибка не возникает. Большая просьба указать путь решения. Проблема в области моего непонимания. Пример приложил.
 
А зачем там вообще Redim Preserve, если потом все затираете?
Ну и раз используете передачу аргументов по ссылке - то и типы соблюдайте. Либо передавайте arr как массив:
Код
Sub podprocedura(ByRef arr())

либо внутри подпроцедуры используйте его как переменную типа Variant:
Код
arr = Range("данные").Resize(h, 1).Value ' ошибка
arr = Application.Transpose(arr)
Изменено: The_Prist - 14.02.2017 10:01:54
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Спасибо, скобки просмотрел и даже не подумал. А по поводу Redim Preserve , просто код скопировал для примера из другой процедуры. Согласен полностью.
Страницы: 1
Наверх