只使用一些数组元素执行for循环

时间:2015-12-30 14:39:17

标签: excel excel-vba vba

我想这很容易,但我无法弄清楚。

我有一个包含多个项目的数组,如下所示:

slds = Array(3, 15, 27, 39, 51, 87, 74, 89, 11, 45, 57, 24)

我想只使用由位置定义的数组中的一些项来进行For循环,例如,前4个元素,但我不知道它的正确语法。像

这样的东西
For slds(0) to slds(3) 'do some...

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

假设VBA中有一个典型的从零开始的数组:

For i = 0 To 3
    'do stuff
    Debug.Print slds(i)
Next

这里表示您希望索引0到3或前4个元素。

如果您无法确定从零开始,则使用
Scott Craner

提到的For i = lBound(slds) to Lbound(slds) + 3

答案 1 :(得分:2)

或者您可以Redim数组来捕获第一个 x 值。

保留循环,以防您仍想循环。

Sub a()
Dim slds
Dim lngCnt As Long
slds = Array(3, 15, 27, 39, 51, 87, 74, 89, 11, 45, 57, 24)
ReDim Preserve slds(1 To 3)
For lngCnt = 1 To UBound(slds)
    Debug.Print slds(lngCnt)
Next
End Sub