gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 09:19:13 25 4
gpt4 key购买 nike

我在 for each 循环遍历整数数组时遇到了一个小问题。我有这样的东西:

Dim arr(3) as Integer
Dim vari as variant

for each vari in arr
debug.print vari
next var

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

最佳答案

如果您想轻松访问元素索引,则需要使用传统的 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

没有方法可以从For Each 循环中获取索引号。如果您需要证据,那么这里是接口(interface) IEnumVARIANT 的文档,它在 VB6/VBA 中强调了 For Each https://msdn.microsoft.com/en-us/library/windows/desktop/ms221053(v=vs.85).aspx

关于vba - 在数组 VBA 的每个循环中检索索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41431244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com