VBA Excel应用程序。匹配意外返回错误

时间:2019-03-24 15:47:55

标签: excel vba match

我正在使用Application.Match并期待

Application.Match(["Search Term"],["Search Array"],["-1 Optional Argument 
to show the first result higher than 'Search Term'"]

我遇到类型不匹配的错误,尽管手动搜索同一数组会显示许多我认为应该满足脚本的示例!

例如:

Sheets("StockPointsLog").Range("E75").Value = 853.45
ReferenceTargetSell = 850.605

我尝试使用'''Application.WorksheetFunction.Match'''来查看是否解决了我所遇到的问题,但这似乎并不是100%可靠的方法,所以我希望放弃它以寻求实际解决方案。

我尝试将这一行封装在'''CDbl()'''中,这只是将错误代码转换为数字。

我还试图手动编辑数组中的值,以确认我确实有一个有效的结果要显示,但无济于事。

如您所见,如果没有结果,我将进行错误处理(就我的Sub其余部分而言,这是有效的结果)。这意味着对我而言,实际结果是.match结果为= 0,而不是N / A。

我已经疯狂搜寻了2天,我不得不求助于您,我亲爱的聪明朋友,您的帮助和经验!

i = 2

Do While i <= (TotalTrades + 1)

ReferenceDateRow = Application.Match(ReferenceDate, 
Sheets("StockPointsLog").Range("A1:A1000"), 0)

ReferenceTargetSell = Sheets("Trades").Range("B" & i).Value

On Error Resume Next

NewTradeDate = Application.Match(ReferenceTargetSell, 
Sheets("StockPointsLog").Range("E" & ReferenceDateRow & ":E1001"), -1)
NewTradeDate = Sheets("StockPointsLog").Range("A" & NewTradeDate).Value

ReferenceDateRow返回一个合法且正确的值。对此感到满意。

ReferenceTargetSell也可以按预期工作。

当我尝试设置NewTradeDate时,问题就开始了

0 个答案:

没有答案