Excel VBA如何循环数据集并跳过其他行?

我在A列的Excel工作表中有一个员工号码列表。 每个号码在列表中出现两次,名字相同但公司不同。 我想循环列表中的每个数字,并将其与另一个列表进行比较,以检查员工现在工作的公司名称。

例如:

112 Rafael ABC 112 Rafael NBS 223 Jose ACM 223 Jose NBS 345 Dave ACM 345 Dave NBS 

我想查一下拉斐尔的号码,然后查一下Jose和Dave的号码。 我需要循环本身的帮助 – 如何每次跳过一行。

 Sub RemoveDuplicats() Application.ScreenUpdating = False Application.EnableEvents = False Application.DisplayAlerts = False Application.DisplayStatusBar = False Application.Calculation = xlManual Dim MainWB As Workbook Dim MainSheet As Worksheet Dim MLRow As Long Dim WS As Worksheet Dim emp As Range Set MainWB = ThisWorkbook Set MainSheet = MainWB.Worksheets("Main") 'Here is not relevant code . . . With MainSheet MLRow = .Cells(Rows.Count, "A").End(xlUp).Row Set emp = .Range("A1:A" & MLRow) .Range("A1").PasteSpecial Paste:=xlPasteValues .Range("A1:M" & MLRow).Sort key1:=Range("A2:A" & MLRow), order1:=xlAscending, Header:=xlNo End With Application.ScreenUpdating = True Application.EnableEvents = True Application.DisplayAlerts = True Application.DisplayStatusBar = True Application.Calculation = xlCalculationAutomatic End Sub 

我不知道,如果这是你想要的和数据是完全一样的,你已经显示。

 With MainSheet MLRow = .Cells(Rows.Count, "A").End(xlUp).Row Set emp = .Range("A1:A" & MLRow) .Range("A1").PasteSpecial Paste:=xlPasteValues .Range("A1:M" & MLRow).Sort key1:=Range("A2:A" & MLRow), order1:=xlAscending, Header:=xlNo End With 'Loop the cells and skip 1 For x = 1 To MLRow 'Your Code x = x + 1 Next x