Я ломаю голову, чтобы понять, почему я получаю ошибку 1004 по этому вопросу. У меня есть лист с уникальными идентификаторами, которые мне нужно найти в другом листе, а затем вернуть значение в другом столбце в строке, и это показалось WorksheetFunction.Index + Match. Данные, которые мне нужны, смещены на один столбец (следовательно, Count_2 - 1). Я объявил переменные и даже разблокировал листы на всякий случай. Я знаю, что могу использовать индексное соответствие в Excel, но я пытаюсь использовать vba для всех вычислений, чтобы конечные пользователи не могли ничего испортить, и чтобы было легче увидеть, что на самом деле делает книга. Любые идеи?
Отдельно я установил его для печати числа в определенную c ячейку, чтобы мне было легче видеть, где код умирает.
For Count_1 = 2 to 51
For Count_2 = 4 To 44
Sheet8.Cells(Count_1, Count_2) = WorksheetFunction.Index(Sheet7.Range(Cells(47, Count_2 -1), _
Cells(904, Count_2 - 1)), WorksheetFunction.Match(Sheet8.Cells(Count_1, 1).Value, _
Sheet7.Range("A47:A904"), 0))
Count_3 = Count_3 + 1
Sheet1.Range("D1") = 2
Next
Next