Excel VBA: как создать массив из диапазона

Чтобы создать массив из диапазона в Excel VBA, вы можете использовать различные методы. Вот несколько примеров:

  1. Метод 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. Способ 2: использование функции транспонирования

    Dim rng As Range
    Dim arr() As Variant
    Set rng = Range("A1:A10") ' Specify your range here
    arr = Application.Transpose(rng.Value)
  3. Способ 3. Использование свойств «Изменить размер» и «Значение»

    Dim rng As Range
    Dim arr() As Variant
    Set rng = Range("A1:A10") ' Specify your range here
    arr = rng.Resize(, 1).Value
  4. Метод 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. Выберите метод, который лучше всего соответствует вашим требованиям.