需要一些帮助才能找出奇怪的VBA VLOOKUP
Type Missmatch
错误。代码非常简单,因为sss0是一个随机数,我想要的是在一个范围内找到最接近的值(表'BMD_CDF',范围(“A2:B999”))。在电子表格中,我将表格(“BMD_CDF”)。范围(“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)
答案 0 :(得分:1)
Error 2042
(" N / A")似乎是由Excel工作表函数返回的值引起的:
Aplication.WorksheetFunction.Max(Rnd(), 0.005)
始终小于1的永远不会进入column A
中指定的值范围(> 6)。出于测试目的,尝试将其替换为Column A
中该值范围内的任何数字,例如sss0 =6.15
,并修改VLOOKUP()语句,如下所示:
Debug.Print Application.VLookup(sss0, LookUp_Range, 2, 1)
(其中1代表逻辑TRUE
)以使其正常工作,即根据您的定义找到最接近的值(不完全匹配)。
希望这可能会有所帮助。