将Excel中的元素存储到数组VBA中

时间:2019-06-23 13:11:15

标签: arrays excel vba

我有一些要使用VBA存储到数组中的列数据。存储完之后,我将引用数组中的元素并进行比较。

Dim tRange As Range

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

让我们说我想将具有5行的column A存储到VBA中的数组中。我可以知道吗?

2 个答案:

答案 0 :(得分:0)

这是一种方法:

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

注意:

此技术不取决于范围的“形状”。如果范围是一列或一行,或者一个单元格的矩形,甚至是一组不相交的单元格,那么它将起作用。

答案 1 :(得分:0)

您只需声明一个Variant数据类型并使它等于范围即可。

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

在上一个问题中,@ vacip恰好在相同的范围内回答了这个问题! Creating an Array from a Range in VBA