Чтобы создать массив из диапазона в Excel VBA, вы можете использовать различные методы. Вот несколько примеров:
-
Метод 1: использование свойства Value
Dim rng As Range Dim arr() As Variant Dim cell As Range Dim i As Long Set rng = Range("A1:A10") ' Specify your range here ReDim arr(1 To rng.Rows.Count) i = 1 For Each cell In rng arr(i) = cell.Value i = i + 1 Next cell -
Способ 2: использование функции транспонирования
Dim rng As Range Dim arr() As Variant Set rng = Range("A1:A10") ' Specify your range here arr = Application.Transpose(rng.Value) -
Способ 3. Использование свойств «Изменить размер» и «Значение»
Dim rng As Range Dim arr() As Variant Set rng = Range("A1:A10") ' Specify your range here arr = rng.Resize(, 1).Value -
Метод 4. Использование функции WorksheetFunction.Index
Dim rng As Range Dim arr() As Variant Set rng = Range("A1:A10") ' Specify your range here arr = WorksheetFunction.Index(rng.Value, 0, 1)
Это всего лишь несколько примеров того, как создать массив из диапазона в Excel VBA. Выберите метод, который лучше всего соответствует вашим требованиям.