Динамический массив! HelP!

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Anat
Сообщения: 1
Зарегистрирован: 25 авг 2009, 13:05

Всем привет!
Dim arrayname() as string
sub main()
'varname = Ubound(arrayname) 'для отладки
ReDim preserve arrayname(Ubound(arrayname)+1)
end sub
Выдает ошибку: subscript out of range в строке ReDim...
Подскажите, плиз
Аватара пользователя
EducatedFool
Сообщения: 197
Зарегистрирован: 06 апр 2008, 14:03
Откуда: Россия, Урал
Контактная информация:

Вы не задали размерность массива, и пытаетесь получить свойство UBound(arrayname)
Из-за этого и ошибка.

Попробуйте так:

Код: Выделить всё

[color=darkblue]Dim[/color] arrayname() [color=darkblue]As[/color] [color=darkblue]String[/color]

[color=darkblue]Sub[/color] main()
    [B][color=darkblue]ReDim[/color] arrayname(0)[/B]
    [color=green]' Debug.Print UBound(arrayname)[/color]
    [color=darkblue]ReDim[/color] [color=darkblue]Preserve[/color] arrayname(UBound(arrayname) + 1)
    [color=green]' Debug.Print UBound(arrayname)[/color]
[color=darkblue]End[/color] [color=darkblue]Sub[/color]
Макросы для Excel, Word, CorelDRAW. Быстро, профессионально, недорого. http://ExcelVBA.ru/

Благодарности принимаются на кошелёк WebMoney: R318574877619 и Яндекс.Деньги: 41001335672216
Ответить