У меня есть, казалось бы, основная проблема, но не могу найти никаких ресурсов, обращающихся к ней.Создание массива из диапазона в VBA
Проще говоря, я просто хочу загрузить содержимое диапазона ячеек (всего одного столбца) в массив.
Я могу сделать это с помощью
DirArray = Array(Range("A1"), Range("A2"))
Но по какой-то причине, я не могу создать массив при выраженном таким образом:
DirArray = Array(Range("A1:A2"))
Мой реальный диапазон гораздо больше (и может варьироваться в зависимости от длины), поэтому я не хочу, чтобы индивидуально перечислять ячейки таким образом. Может ли кто-нибудь сказать мне, как правильно загрузить целый Range в массив?
С последним кодом:
MsgBox UBound(DirArray, 1)
И
MsgBox UBound(DirArray)
Return 0, в то время как с бывшим они вернутся 1.
Loop через диапазон. – findwindow
Разве это не так эффективно? Я думал, что существует метод или свойство, которые позволят сразу загрузить весь массив в массив. Или что-то с аналогичным эффектом, если есть тип объектов без массива, которые я должен использовать вместо этого ... – basaltanglia
вы должны иметь возможность просто сделать это. - DirArray = Range ("A1: A2") – chungtinhlakho