When I use Match()
in my VBA sub, it returns a 2042 Error every other time. When no error is returned the code works perfectly fine, it is quite strange...
Here is what the code looks like:
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
I have also noticed that the error only happens on the lookup values that are numbers formatted as text for some reason, but always works on values that stat with a letter.
When error is returned by pay
it is also retuned by fact
, but when it works for the first one it works for both.