我无法通过以下方式达成一致意见:
Dim IMSPosition As Double
IMSPosition = Application.WorksheetFunction.IfError(Application.VLookup(UniqueID, IMSData.Range("A:P"), 14, 0), 0)
If Abs(HubPosition * Multiplier + IMSPosition) < 1 Then
目标是查看IMS位置和轮毂位置是否具有相等且相反的量,然后将它们翻转为朝向相同方向。
如果没有Dim IMS,没有格式,我会在比较行上出现类型不匹配。使用DIM和格式中的任何一个或两者,我在IMS位置线上出现溢出错误。我尝试了各种格式,我尝试将源数据更改为数字,我已经完成了一些谷歌搜索,而且我完全卡住了。
编辑:打破并单步执行代码,前7行发布正常,然后就可以了。我调查了有问题的数字,它很生气,而且......没什么特别的。另一个...
等等,它是巨人。大于长数。我想我发现了我的问题......
编辑2:正常工作,除非Vlookup找不到任何内容。需要弄清楚如何告诉它表现得像之前的行为(当它是一个字符串时)
编辑3:尝试将Vlookup包装成iferror并不像我希望的那样游泳
编辑4:我设法使用以下代码:
IsinHUB = Not IsError(Application.Match(UniqueID, HubData.Range("C:C"), 0))
isInIMS = Not IsError(Application.Match(UniqueID, IMSData.Range("A:A"), 0))
If IsinHUB And isInIMS Then
' Compare here
End if