Я использую функции INDEX и MATCH, чтобы вытащить данные, которые являются конкатенированной строкой G2 и H2 из колонки D (извините, у меня недостаточно точек для прикрепления pic). Столбец D имеет индекс (столбец A и столбец B), а столбцы A и B имеют значения до 12-й строки. MATCH отлично работает, давая мне позицию 6 на листе. Но когда я использую это в коде VBA, как показано ниже, INDEX работает в коде VBA (можно увидеть через MsgBox), но функция MATCH, которая будет выделять значение переменной «check», не работает. Я очень долго ломаю голову. Вам нужна помощь от экспертов. Кто-нибудь, пожалуйста, скажите мне, где я буду ошибаться?Функция Excel VBA Match не работает
Sub testindex()
Dim check As Long
Set sh = Sheets("Sheet1")
For j = 1 To 11
'Index value is correctly shown
MsgBox "Index Value=" & Application.WorksheetFunction.Index(sh.Range("A2:B12"), j, 1) & Application.WorksheetFunction.Index(sh.Range("A2:B12"), j, 2)
'Cells(7, 4)=ISA737775 same as G2&H2
MsgBox "Cells(7,4)=" & Cells(7, 4)
check = Application.WorksheetFunction.Match(Cells(7, 4), Application.WorksheetFunction.Index(sh.Range("A2:B12"), j, 1) & Application.WorksheetFunction.Index(sh.Range("A2:B12"), j, 2), 0)
Next j
End Sub
Благодаря