Application.WorksheetFunction.Match-Methode
Ich habe viele Themen zum Problem "Match-Eigenschaft der Arbeitsblattfunktionsklasse kann nicht abrufen" gesehen. Aber ich kann meinen Code nicht reparieren.
Warum funktioniert dieser Code nicht?
rowNum = Application.WorksheetFunction.Match(aNumber, Sheet5.Range("B16:B615"), 0)
Aber ein paar Zeilen höher funktioniert dieser Code:
rowNum2 = Application.WorksheetFunction.Match(originCode, Sheet7.Range("B10:B17"), 0)
Der einzige Unterschied zwischen meinen beiden Zeilen besteht darin, dass ich in rowNum2 einen String zum Nachschlagen und in rowNum eine Ganzzahl verwendet habe. Ist es möglich, dass der Suchwert ein String sein muss?
@ Update auf meinem 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
!!! Achten Sie darauf, dass "0.5" ein String und nicht 0.5 ist. Also ist 0.5 nicht "0.5" (das war mein Fehler im Code)