我有一些要使用VBA存储到数组中的列数据。存储完之后,我将引用数组中的元素并进行比较。
Dim tRange As Range
Set tRange = wb.Sheets("wbname").Range("A1:A5")
让我们说我想将具有5行的column A
存储到VBA中的数组中。我可以知道吗?
答案 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