Excel VBA – macros运行,但没有效果

我是Excel VBA的新手,这是我的第一个macros,所以请原谅我,如果我犯了一个非常明显的错误。 我有以下代码与工作表进行比较,如果find匹配,请在其中一张工作表上进行注释。 它运行没有错误,但没有做出改变。 我看不出我哪里出了问题。 先谢谢您的帮助。

Sub invalid() Dim i As Integer Dim j As Integer Dim main As Worksheet Dim invalid As Worksheet i = 2 Set main = ThisWorkbook.Worksheets(1) Set invalid = ThisWorkbook.Worksheets(2) Do j = 2 Do If LCase$(invalid.Cells(i, 1).Value) = LCase$(main.Cells(j, 13).Value) Then main.Cells(j, 14).Value = "Invalid Email" End If j = j + 1 Loop While main.Cells(j, 2) = Not Null i = i + 1 Loop While invalid.Cells(i, 2) = Not Null End Sub 

试试这个,它删除了一个循环:

 Sub invalid() Dim i As Long Dim j As Long Dim lRow As Long Dim main As Worksheet Dim invalid As Worksheet Set main = ThisWorkbook.Worksheets(1) Set invalid = ThisWorkbook.Worksheets(2) lRow = main.Cells(main.Rows.Count, 13).End(xlUp).Row For i = 2 To lRow j = 0 On Error Resume Next j = Application.WorksheetFunction.Match(main.Cells(i, 13), invalid.Range("A:A"), 0) On Error GoTo 0 If j > 0 Then main.Cells(i, 14) = "Invalid Email" Next i End Sub