Excel VLookup()工作表函数中的错误2042(“N / A”)
需要一些帮助来弄清楚奇怪的VBA VLOOKUP
Type Missmatch
错误。 代码非常简单,因为sss0是一个随机数,我想要的是在范围(表'BMD_CDF',Range(“A2:B999”))中find最接近的值。 在电子表格中,我为表格设置了格式(“BMD_CDF”)。Range(“A2:B999”)已经被科学化了…
Dim LookUp_Range As Range Dim sss0 As Double Set LookUp_Range = Sheets("BMD_CDF").Range("A2:B999") sss0=Application.WorksheetFunction.Max(Rnd(), 0.005) Debug.Print Application.VLookup(sss0, LookUp_Range, 2, 0)
错误信息
什么范围看起来像
Error 2042
(“N / A”)似乎是由Excel工作表函数返回的值引起的:
Aplication.WorksheetFunction.Max(Rnd(), 0.005)
总是小于1将永远不会进入指定范围的值(> 6) column A
。 出于testing目的,请尝试用Column A
中该值范围内的任何数字replace它,例如, sss0 =6.15
并修改VLOOKUP()语句,如下所示:
Debug.Print Application.VLookup(sss0, LookUp_Range, 2, 1)
(其中1代表逻辑TRUE
)以使其工作,即根据您的定义find最接近的值(不完全匹配)。
希望这可能有帮助。