VB获取整行到两维数组

我新来的VB,我被告知要在Excel中创build一个macros,这将去另一个Excel文件,filtre一些具有特定值的行,并用thoes值做一些%,并将结果保存在另一个页面。

我做了一个For循环,我认为将解决我的问题,但我没有看到它的工作。 这是我的:(我没有包括访问另一个文件的部分)

Dim exemplo(1, 17) As Integer For x = linha_inicial To linha_final If Cells(x, 3) = filtro_1 And Cells(x, 4) = filtro_2 Then exemplo(exemplo.Length - 1) = Row(x) ' this is if it was 1 dimention array exemplo(x) = Row(x) '? I have no idea what to do here ReDim Preserve exemplo(exemplo.Length + 1) ' same applies to here Next x 

你可以看到那里,我做了一维数组的循环,但我还是不明白一些事情:首先,如果我find了我想要的行,我如何把整个行,并保存在一个两(我知道colom总是17,所以即时猜测它会像(Row(x),17),但这样它将保存在位置17(PS我也不知道如何获得整行))

其次,我如何redimention一个二维数组,从我的search,我只发现如何做一维数组。

那么我想所有我需要知道我了解和芬兰我的项目。 无论如何,谢谢!

你为什么要整行,包括巨大的空白部分? 无论如何

 a=rows(w).value2 

但是您可能想要使用:

 a = Intersect(Rows(w), ActiveSheet.UsedRange).Value2 

要更改LAST维度的大小,请使用:

 Redim preserve a(0 to 3, 0 to 42) 

对于其他人,你必须逐项复制