Application.Match () всегда возвращает 91 из VBA FX, НО - PullRequest
0 голосов
/ 03 мая 2019

Когда я звоню Application.Match() из Немедленного Окна, это работает. Из модуля в VBA он возвращает ошибку «91 Obj Var или с блоком не установлен».

Я попробовал сопоставить с листа, работает нормально. Я попытался изменить аргумент «массив» на «категория» (именованный диапазон, область действия рабочей книги), «errCodes! B25: B295», диапазон («категория»), диапазон («errCodes! B25: B295») ... Я посмотрел на другие ошибки 91, и они не соответствуют друг другу.

Function findCD(prevRng As Range)
    Dim oldCDrng As Range
    Dim i As Integer
    Dim nextCD As Integer

    Dim oldC, oldD, newC, newD, oldCD, newCD As String
    On Error GoTo err_hand
    'Argument is always above cell

    '1 find prev cell value
    oldCD = WorksheetFunction.Index(prevRng, 0)
    oldC = Mid(oldCD, 1, 1)
    oldD = Mid(oldCD, 2, 1)

    '2 find next C & D where different
    'find current CD
    oldCDrng = Application.Match("02", Range("category"), 0)

    'next CD is at least CD + 1
    'verify this
    nextCD = oldCD + 1

    nextCDrng = Application.Match(nextCD, Range("errorCodes!D22:D295"), 0)

    '3 return this value

    Exit Function
err_hand:

    findCD = "ERROR!" & Err.Number & " (" & Err.Description & ")"    
End Function
...