在VBA设置步骤值

时间:2016-10-13 10:16:22

标签: arrays vba excel-vba excel

我想定义一个从0到50的数组,步长为10.我看起来像:arr = [0;10;20;30;40;50]

应该像

Dim arr As Variant
arr = Array(0:10:50)

但这显然不起作用。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果要使用修正增量值填充数组,请使用以下命令(将NumElements和Increment更改为所需值):

Sub FillArray()
Dim I As Integer, Arr() As Long
Const NumElements As Integer = 6
Const Increment As Integer = 10

    ReDim Arr(1 To NumElements)
    For I = 1 To NumElements
        Arr(I) = (I - 1) * Increment
    Next I
End Sub

答案 1 :(得分:0)

什么是“增量为10的数组”?意味着能够索引一个步长为10的索引的数组,例如:

Dim arr(0 To 100 Step 10)  '(fictional syntax; has only 11 elements)
For i = 0 To 100 Step 10
    s = arr(i)
Next i

我认为这是不可能的。您当然可以使用索引的模数:

Dim i as Integer
Dim arr(0 To 10)
For i = 0 To 100 Step 10
    s = arr(i/10)
Next i