对于具有2个变量的循环Vba

时间:2015-07-08 21:33:42

标签: vba loops

arrayOne(1)=一个arrayTwo(1)= B
arrayOne(2)= C arrayTwo(2)= D
arrayOne(3)= E arrayTwo(3)= F

我需要遍历两个数组来调用sub。注意,sub总是以pair形式调用,例如:

Sub(arrayOne(1),arrayTwo(1))
Sub(arrayOne(2),arrayTwo(2))

是否可以使用两个变量初始化for?这样的事情:

For x = LBound(arrayOne) To UBound(arrayOne) and y = LBound(arrayTwo) To UBound(arrayTwo)

   Call Sub(x, y) 

Next x

由于

2 个答案:

答案 0 :(得分:0)

为什么不分层?

For x = LBound(arrayOne) To UBound(arrayOne)
    For y = LBound(arrayTwo) To UBound(arrayTwo)
        Call Sub(x, y) 
    Next y
Next x

答案 1 :(得分:0)

一个For Next循环不能使用两个索引器
如果您确定数组大小相同,那么您可以为两个数组使用相同的索引器

Dim i As Integer
For i = LBound(arrayOne) To UBound(arrayOne)
    Call Sub(arrayOne(i), arrayTwo(i)) 
Next i