获取数组VBA中的项索引

我想获得数组的VBA中的项目的索引,但我有问题得到它。

Const NoOfVol As Integer = 5 Dim vol(NoOfVol) As Integer For Index = 1 To NoOfVol vol(Index) = Cells(15 + Index, 8).Value Next 

数组看起来像这样:(-2500,-1250,0,1250,2500)。 我这样调用函数。

 Function Find(ByVal Value As Variant, arr As Variant) As Integer Find = Application.Match(Value, arr, False) End Function posOfVol = Find(-1250, vol) 

但posOfVol = 3,当它应该是2.不知道我的错误在哪里。 需要一些指导。

你的数组实际上被有效地声明为:

 Dim vol(0 to NoOfVol) As Integer 

除非你有一个Option Base 1声明。 由于你的循环从1到5,你永远不会填充数组的第一个元素,它保持其默认值为0.因此,你的数组实际上是:

 (0,-2500,-1250,0,1250,2500) 

因为你正在寻找一个精确的匹配,在第三个位置find-1250。