Metoda Application.WorksheetFunction.Match

Widziałem wiele tematów do problemu „nie można uzyskać właściwości dopasowania klasy worksheetfunction”. Ale nie mogę naprawić mojego kodu.

Dlaczego ten kod nie działa?

rowNum = Application.WorksheetFunction.Match(aNumber, Sheet5.Range("B16:B615"), 0)

Ale kilka rzędów wyżej ten kod działa:

rowNum2 = Application.WorksheetFunction.Match(originCode, Sheet7.Range("B10:B17"), 0)

Jedyną różnicą między moimi dwiema liniami jest to, że w rowNum2 użyłem ciągu do wyszukania i do rowNum liczby całkowitej. Czy to możliwe, że wartość wyszukiwania musi być ciągiem?

@ Zaktualizuj mój problem

Select Case service
Case "Low Cost"
MsgBox Sheet5.Cells(16, "B") 'Gets value 0.5
Set Rng = Sheet5.Range("B16:B615")

   If Not IsError(Application.Match("0.5", Rng, 0)) Then 'But jumps to Else
    rowNum = Application.Match(Weight, Rng, 0) 'Weight = 0.5
    MsgBox rowNum
Else
    MsgBox "error"
End If



Case "Standard"

Case "Express"

Case Else

End Select

@UPDATE 2

!!! Uważaj, aby „0.5” było ciągiem, a nie 0.5. Tak więc 0.5 nie jest „0.5” (to był mój błąd w kodzie)

questionAnswers(1)

yourAnswerToTheQuestion