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)