对VBA数组的列或行执行操作

时间:2014-03-31 14:34:59

标签: arrays loops excel-vba multidimensional-array vba

在VBA中是否可以循环,例如,二维数组的每一列,并对每列执行和操作?我想将一个数组的每一列或一行顺序传递给一个函数。

感谢。

1 个答案:

答案 0 :(得分:0)

通常情况下,我不会回答这个问题,因为你没有表现出任何努力......但是我对此有自己的困难(目前我发布了自己的问题寻找更好的解决方案)而且我很无聊这样:

如果您有一个名为myArr的2D数组,请执行以下操作:

 1,2,3,4,5
 6,7,8,9,10
 11,12,13,14,15

定义为:dim myArr(2,4) as variant

然后你可以用这样的双循环遍历它:

    For i = LBound(myArr) To UBound(myArr)
        For j = LBound(myArr, 2) To UBound(myArr, 2)
            temp(j) = myArr(i, j)
        Next
    Next

其中定义了temp并像这样重新设置:

dim temp() as variant
redim temp(lbound(myArr,2), ubound(myArr,2)) 'note the ",2" gets the bounds of the 2nd dimention

然后将temp传递给函数:FunctionName(Temp)

所以通过在内部循环之后粘贴thue函数调用将它放在一起它会遍历并将temp传递给每行的函数