I have done something wrong my my error handler - the vlookup, when it does not find a value, fails. Something to do with it being in a loop. Please help!

Do While i < (lastrow + 1)
Range("L" & i).Select
On Error GoTo ErrorHandler
Range("l" & i) = Application.WorksheetFunction.VLookup(Workbooks("ITEMT.CSV").Sheets("ITEMT").Range("a" & i), Workbooks("ITEMY.CSV").Sheets("ITEMY").Range("a" & i & ":" & "k" & lastrow), 11, False)

ErrorHandler:
If Err.Number = 1004 Then
result = 0
End If

bob = Range("k" & i).Value
bill = Range("l" & i).Value
If bill = bob Then
Range("m" & i).Value = "FALSE"
Else
Range("m" & i).Value = "TRUE"
End If
i = i + 1
Loop