我遇到了一些宏代碼的問題,我從我在網上找到的一些代碼改編了一些代碼,並想知道是否有人能夠提供幫助。比較兩個不同的工作表中的兩個單元格並刪除任何重複的內容
本質上,我希望宏運行並將「工作列表」工作表中的兩個單元格與「導入此處」工作表中的條目進行比較,並刪除任何重複項。
當我運行代碼時,它似乎在標題單元格上工作,但似乎沒有工作。
任何幫助將不勝感激。
這裏是下面的代碼:我也嘗試了自己的理解註釋。
Sub Comparison_Macro()
Dim iListCount As Integer
Dim iCtr As Integer
' Turn off screen updating to speed up macro.
Application.ScreenUpdating = False
' Get count of records to search through (list that will be deleted).
iListCount = Sheets("Import Here").Range("A1:A1000").Rows.Count
' Loop through the "master" list.
For Each x In Sheets("Working List").Range("A1:A30")
' Loop through all records in the second list.
For iCtr = 1 To iListCount
' Do comparison of Column A in next record.
If x.Value = Sheets("Import Here").Cells(iCtr, 1).Value Then
'Do comparison of Column B in next record.
If Sheets("Working List").Cells(iCtr, 2) = Sheets("Import Here").Cells(iCtr, 2).Value Then
' If match is true for Columns A and B then delete row.
Sheets("Import Here").Cells(iCtr, 1).EntireRow.Delete xlShiftUp
End If
' Increment counter to account for deleted row.
iCtr = iCtr + 1
End If
Next iCtr
Next
Application.ScreenUpdating = True
MsgBox "Done!"
End Sub
你有一個評論,說「增量專櫃就佔刪除行,但就是if語句,其中該行被刪除,所以它會增加外即使一行沒有被刪除。當你刪除一行時,我認爲你必須從iCtrl -1,但無論你做什麼都會導致你在每張表上檢查的行變得不同步,然後你將不會得到任何進一步的匹配。瞭解工作表是否包含重複數據的最佳方法是在代碼中或工作表上的備用列中使用countif。 – Gordon