当我在VBA子目录中使用Match()
时,它每隔两次返回2042错误。当没有错误返回时,代码运行正常,这很奇怪。
代码如下所示:
target.Sheets("Countries").Range("D3:D" & lastRow) = Application.Trim(target.Sheets("Countries").Range("D3:D" & lastRow).Value)
target.Sheets("Countries").Range("D3:D" & lastRow).NumberFormat = "@"
target.Sheets("Countries").Range("T3:T" & lastRow) = Application.Trim(target.Sheets("Countries").Range("T3:T" & lastRow).Value)
For i = 0 To rowz - 1
pay = Application.Index(target.Sheets("Countries").Range("G3:G" & lastRow), Application.Match(target.Sheets("TEST").Range("D" & 7 + i), target.Sheets("Countries").Range("D3:D" & lastRow), 0))
fact = Application.Index(target.Sheets("Countries").Range("T3:T" & lastRow), Application.Match(target.Sheets("TEST").Range("D" & 7 + i), target.Sheets("Countries").Range("D3:D" & lastRow), 0))
'rest of code
Next i
我还注意到,由于某种原因,该错误仅发生在以数字格式设置为文本的数字的查找值上,但始终适用于带有字母stat的值。
pay
返回错误时,fact
也将其重新调优,但是当错误适用于第一个错误时,它将同时适用于两者。