从范围数组获取索引时出现VBA错误

时间:2018-11-16 13:59:26

标签: arrays excel vba excel-vba

我正在使用多个范围数组。每个数组都有一个列范围。我将数组定义为变量数组。然后,我在文本框中安排了一个旋转按钮,以从数组范围中获取确切输入的值。

数组示例:

...    
fiber_oList = ThisWorkbook.Sheets("sarfArray").Range("B2:B18").Value2
    mySpinButton.Max = UBound(fiber_oList, 1) - LBound(fiber_oList, 1) + 1
    mySpinButton.Min = LBound(fiber_oList, 1)
    Kal.Value = fiber_oList(mySpinButton.Value, 1)
...

,我有一个函数可以从数组中获取特定值的索引号。

Public Function whichIndex(araArray As Variant, vBul As Variant) As Integer
'
'
Dim i As Integer
If IsArray(araArray) Then
For i = 1 To UBound(araArray, 1)

 If araArray(i, 1) = vBul Then
    whichIndex = i
    Exit Function
  End If
Next i
whichIndex = Null
Else
MsgBox "Bu bir array değil."
End If

End Function

然后我使用函数的结果如下:

temp = whichIndex(fiber_oList, tekKal)
    mySpinButton.Value = temp

代码对于第一个数组正常工作。但是对于第二个数组,它将给出一个错误:

函数给出IsArray函数FALSE的结果。

VBA给出

  

运行时错误'380':无法设置Value属性。属性值无效。

该问题我该怎么办?

0 个答案:

没有答案