Я впервые использую формулу массива в VBA, и когда я запускаю макрос, я всегда получаю ошибку «ошибка приложения или объекта».
У вас есть идеи, где моя ошибка. Я не могу его найти.
Я пытаюсь использовать VLOOKUP с несколькими критериями. 1-й критерий: сопоставить текст в ячейке C10. 2-й критерий: сопоставить текст = «Общий доход (кроме финансового результата)». Когда я использую формулу без VBA, чтобы проверить ее, она отлично работает.
Я определил все переменные, и они работают в других частях кода.
Dim openRecentPath As String
Dim openRecentPath2 As String
Dim PathIfThere As String
Dim FileIfThere As String
Dim Orderlist2017 As String
Dim Orderlist2018 As String
Dim Orderlist2019 As String
Dim PathIfNotThere As String
Dim FileIfNotThere As String
Dim Datadump As String
PathIfThere = Sheets("Open latest file").Range("J5")
PathIfNotThere = Sheets("Open latest file").Range("J6")
FileIfThere = Sheets("Open latest file").Range("L5")
FileIfNotThere = Sheets("Open latest file").Range("L6")
Orderlist2018 = Sheets("Filepaths for P25 2017").Range("K2")
Datadump = Sheets("Filepaths for P25 2017").Range("M2")
Согласно комментарию ниже, я изменил код до 255 символов, но где-то все еще есть ошибка? Теперь я тестировал код по-разному и понял, что он работает вплоть до функции MATCH. После этого есть где-то небольшая ошибка? Пожалуйста, помогите, ребята!
Range("G10").FormulaArray = "=If(C10="""","""",INDEX('" & PathIfNot & FileIfNot & Datadump & "'!$K:$K, MATCH(1,('" & PathIfNot & FileIfNot & Datadump & "'!$A:$A=C10)*('" & PathIfNot & FileIfNot & Datadump & "'!$H:$H=24),0)))"
Есть идеи, что я делаю не так?
Надеюсь, кто-нибудь может мне помочь.