我试图在一个大数组中循环10个元素,看看是否与另一个数组有任何不匹配(让我们称之为array2)。
Dim j As Long, i As Long, arr As Variant
mismatch = Compare_array(array1, array2) 'Compare_array is a function and returns an array of mismatches
For i =LBound(mismatch) to UBound(mismatch)
j=0
For arr = mismatch(j + 1, 1) To mismatch(j + 10, 1)
'other code'
Next
Next
基本上我想做的是获取不匹配数组的10个元素并用它执行其他程序。完成其他过程后,我想获取不匹配数组的下10个元素,依此类推。我只是不确定我是否正确完成了第二次声明。
任何建议都将受到赞赏。
答案 0 :(得分:2)
如果我正确理解了这个问题,那么你需要做的就是逐步完成数组10s,然后让内部循环偏移主索引:
For i = LBound(mismatch) To UBound(mismatch) - 10 Step 10
For j = 0 To 9
arr = mismatch(i + j)
'other code'
Next
Next
如果您没有要求子组只有10个元素,您可以通过循环遍历最多元素来向内部循环添加单独的绑定计算,或者剩下很多元素:
For i = LBound(mismatch) To UBound(mismatch) Step 10
Dim innerBound As Long
If i + 10 > UBound(mismatch) Then
innerBound = UBound(mismatch) - i
Else
innerBound = 9
End If
For j = 0 To innerBound
arr = mismatch(i + j)
'other code
Next
Next