Ошибка VBA при получении индекса из массива диапазона - PullRequest
0 голосов
/ 16 ноября 2018

Я работаю с несколькими диапазонами. Каждый массив имеет один диапазон столбцов. Я определил свои массивы как массив вариантов. И я поместил одну спинбут в текстовое поле, чтобы получить значение точного ввода из диапазона массива.

Пример массива:

...    
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 дает

RUN TIME ERROR '380': не удалось установить свойство Value. Неверное значение свойства.

Что я могу сделать для этой проблемы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...