Я пытаюсь создать UDF, который считывает оценки из другой рабочей книги, которая имеет рабочую таблицу с именем "sh_scores" и возвращает значение на основе даты (строки) и сектора (столбцы), используя сопоставление индекса.Функция UDF возвращает #VALUE, и когда я отлаживаю Индекс и сопоставляю отдельно, я получаю ошибку # 424 выше.Буду рад любой помощи, которую смогу получить.Ниже мой код:
Function getScores (iDate, Sector) As Double
Dim Scores As Double
Dim lastRow As Long, LastCol As Long
Dim appExcel As Application
Dim objWorkbook As Workbook
Dim sh_Scores As Worksheet
Application.ScreenUpdating = False
Application.Calculation = xlManual
Application.DisplayAlerts = False
Application.EnableEvents = False
Set appExcel = New Application
appExcel.Visible = False
Set objWorkbook = appExcel.Workbooks.Open("I:\myFolder\Project10\Performance.xlsb")
Set sh_SourceScores = objWorkbook.Worksheets("sh_Scores")
lastRow = sh_SourceScores.Range("A2", sh_SourceScores.Range("A"& rows.Count).End(xlUp).Rows).Rows.Count
LastCol = sh_SourceScores.Cells(1, Columns.Count).End(xlToLeft).Column
Scores = Application.Index(sh_SourceScores.Range("A1:O337"), Application.Match(iDate, sh_SourceScores.Range("A1:A337"), 0), Application.Match(Sector, sh_SourceScores.Range("A1:O1"), 0))
getScores = Scores
objWorkbook.Close
appExcel.Quit
Application.ScreenUpdating = True
Application.Calculation = xlAutomatic
Application.DisplayAlerts = True
Application.EnableEvents = True
End Function