Сохранить элемент из Excel в массив VBA - PullRequest
0 голосов
/ 23 июня 2019

У меня есть некоторые данные в виде столбца, которые я хочу сохранить в массив с помощью VBA. После сохранения я буду ссылаться на элемент массива и сравнивать.

Dim tRange As Range

Set tRange = wb.Sheets("wbname").Range("A1:A5")

Допустим, я хочу сохранить column A с 5 строками в массиве в VBA. Могу ли я узнать путь?

Ответы [ 2 ]

0 голосов
/ 23 июня 2019

Вы можете просто объявить тип данных Variant и сделать его равным диапазону.

Dim DirArray As Variant
DirArray = Range("a1:a5").Value

На предыдущий вопрос ответ @vacip был совпадением для точно такого же диапазона! Создание массива из диапазона в VBA

0 голосов
/ 23 июня 2019

Вот один из способов:

Sub Dave()
    Dim tRange As Range, wb As Workbook, cell As Range
    Dim i As Long

    Set wb = ThisWorkbook
    Set tRange = wb.Sheets("wbname").Range("A1:A5")

    ReDim arr(1 To tRange.Count)
    i = 1
    For Each cell In tRange
        arr(i) = cell.Value
        i = i + 1
      Next cell
End Sub

Примечание:

Эта техника не зависит от «формы» диапазона. Это сработает, если диапазон представляет собой часть столбца, или часть строки, или прямоугольник ячеек, или даже непересекающийся набор ячеек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...