excel vba单列到多维数组

excel vba单列到多维数组,excel,vba,Excel,Vba,我试图将列的范围值放入一个2维数组(0到1,0到“我的列范围的长度”) 我需要这样的东西: arr(0, 0) = value of B4 arr(1, 0) = value of B5 arr(0, 1) = value of B6 arr(1, 1) = value of B7 ... arr(0, n) = value of Bn arr(1, last row of my column range) = value of last B 有人能告诉我必须使用什么函数吗?下面的代码循环通过

我试图将列的范围值放入一个2维数组(0到1,0到“我的列范围的长度”)

我需要这样的东西:

arr(0, 0) = value of B4
arr(1, 0) = value of B5
arr(0, 1) = value of B6
arr(1, 1) = value of B7
...
arr(0, n) = value of Bn
arr(1, last row of my column range) = value of last B

有人能告诉我必须使用什么函数吗?

下面的代码循环通过B列中的每个单元格,从B4开始,并将它们的值分配给数组aResults,如您所述

Dim aResults() As Variant
Dim rRange As Range
Dim nCols As Long
Dim i As Long

Set rRange = Range("B4:B" & Cells(Rows.Count, "B").End(xlUp).Row)

nCols = rRange.Cells.Count \ 2
nCols = nCols + (rRange.Cells.Count Mod 2)

ReDim aResults(1, nCols - 1)

For i = 0 To rRange.Cells.Count - 1
    'Debug.Print i Mod 2, i \ 2, rRange(1).Offset(i).Value
    aResults(i Mod 2, i \ 2) = rRange(1).Offset(i).Value
Next i