В качестве альтернативы, используйте INDEX
и MATCH
как Application.Function
:
Sub Test()
Dim Grade As Long: Grade = 55
Dim arr1 As Variant: arr1 = Array("A", "B", "C", "D", "F")
Dim arr2 As Variant: arr2 = Array(100, 89, 79, 69, 59)
With Application
Debug.Print .Index(arr1, .Match(Grade, arr2, -1))
End With
End Sub
Или удалите функцию INDEX
и вызовите массив напрямую:
With Application
Debug.Print arr1(.Match(Grade, arr2, -1) - 1)
End With
Очевидно, реализовать это в вашем цикле / функции и записать возвращаемое значение в ваши ячейки. Измените переменную Grade
, чтобы увидеть различные значения, которые будут возвращены =)