Excel VBA如何通过数据集循环并跳过每一行



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

例如:

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

我想一次检查拉斐尔的电话号码,然后何塞和戴夫的号码。我需要循环本身的帮助 - 如何每次跳过一排。

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

最新更新