Вопрос
Несколько вопросов при работе с массивами возникло… Вот вначале есть такое объявление: Dim DArray(1 to 1, 1 to 2) As String (даже если написать Dim Array() As String — тоже не работает) затем где-то надо изменить верхнюю границу первого измерения, как это сделать? Когда я пишу: ReDim Preserve Array(1 to 4, 1 to 2) As String Это не работает. Как это делать именно для многомерных массивов. Насколько я знаю второе, третье и т.д. измерения изменять нельзя, но первое-то же можно, по-моему. И еще, как при помощи UBound узнать верхнюю границу первого измерения многомерного массива.
Ответ
Любой динамический массив должен объявляться только с ПУСТЫМИ
скобками (с использованием ключевых слов Dim Public Private)
— С использованием ключевого слова Preserve может изменятся ТОЛЬКО
ПОСЛЕДНЯЯ размеренность массива
— С использованием ключевого слова Preserve может изменяться только
ВЕРХНЯЯ граница ПОСЛЕДНЕЙ размеренности массива
Т.е. моя проблема решалась следующим образом:
Dim Array() As String
Sub Sub()
ReDim Array(1 to 2, 1 to 4)
…
ReDim Preserve Array(1 to 2, 1 to 8)
End Sub
Виталий
Copyright 2000-2004 Сообщество Чайников
Контактная информация