Match()每隔一次出现错误2042

时间:2018-08-20 09:29:48

标签: excel vba error-handling match

当我在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也将其重新调优,但是当错误适用于第一个错误时,它将同时适用于两者。

0 个答案:

没有答案