检索数组VBA中每个循环的索引

Ku *_*Pan 1 vba

我遇到一个小问题,每个循环遍历一个整数数组.我有这样的事情:

Dim arr(3) as Integer
Dim vari as variant

for each vari in arr
  debug.print vari
next var
Run Code Online (Sandbox Code Playgroud)

虽然它确实正确地返回值,但我还需要一种方法来引用数组中给定项的索引号(无论是arr(1),(2)等).如何为每个循环执行此操作?我知道如何使用for x = y to z循环来完成它,但我宁愿将它保留为每个循环.

S M*_*den 6

如果要轻松访问元素索引,则需要使用传统的for循环.试试这个...

Sub Test2()

    Dim arr(3) As Integer
    Dim vari As Variant
    arr(0) = 5: arr(1) = 4: arr(2) = 3: arr(3) = 2

    Dim lIdx As Long
    For lIdx = LBound(arr) To UBound(arr) '* though you have defined the bounds to be 3 above !!  anyway...
        vari = arr(lIdx)
        Debug.Print vari, lIdx
    Next lIdx
'    For Each vari In arr
'      Debug.Print vari
'    Next Var
End Sub
Run Code Online (Sandbox Code Playgroud)

没有办法让从索引号For Each循环.如果您需要证据,那么这里是VB6/VBA IEnumVARIANT中的下划线的文档https://msdn.microsoft.com/en-us/library/windows/desktop/ms221053(v=vs.85).aspxFor Each