クラス A で長さ B の車が適切な長さの範囲内にあるかどうかを知りたいのですが。VBA を使用して、各クラスの最大長と最小長の値を持つテーブル内のクラスを VLookup したい。私のコードでは、列 23=長さ、列 16=クラス、列 101=は、正しい範囲にないかどうかを返します。
Dim ClassCodeTable As Range
Set ClassCodeTable = Worksheets("Class Code Tables").Range("A:G")
Range("A1").Select
Lastrow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To Lastrow
If Cells(i, 23).Value > Application.WorksheetFunction.VLookup(Cells(i, 16), ClassCodeTable, 3, False) And Cells(i, 23).Value < Application.WorksheetFunction.VLookup(Cells(i, 16), ClassCodeTable, 4, False) Then
Cells(i, 101).Value = ""
Else
Cells(i, 101).Value = "Length Range Error"
End If
Next
このコードは 1004 エラーを返し、WorksheetFunction クラスの VLookup プロパティを取得できません。しかし、このアプローチは、特性 C を持つクラス A の車が ClassCodeTable のクラス Aの期待されるカテゴリ値に等しいかどうかを VLookup するときに機能します。ルックアップ テーブルのすべての値が数値であるにもかかわらず、返された VLookup 値が数値として格納されていないように思えます。
VLookup 値を不等式と照合できる数値に変換する方法はありますか?