如何在Excel中通過VBA快速查找多列重復的值


今天項目組的一個同事問我如何快速的找到一個Excel中第3列和第5列的值完全重復的值,我想了想雖然Excel中自帶查找重復值的功能,但是好像只能對同一列進行比較,所以就寫了一個VBA進行處理,VBA非常簡單,但效果不錯。

Sub FindDuplicatesInColumn()

    Dim lastRow As Long
    Dim matchFoundIndex As Long
    Dim iCntr As Long
    lastRow = 500
    
    ' 初始化臨時列, 第7列用來存放結果,第8列將3 5兩列的值拼接起來,方便判斷
    For iCntr = 2 To lastRow
        Cells(iCntr, 7) = ""
        Cells(iCntr, 8) = Cells(iCntr, 3) & Cells(iCntr, 5)
    Next iCntr
    
    For iCntr = 2 To lastRow
        If Cells(iCntr, 5) <> "" Then
            ' 判斷是否存在相等的拼接后的列,如果存在,則記錄到結果中
            matchFoundIndex = WorksheetFunction.Match(Cells(iCntr, 8), Range("H1:H" & lastRow), 0)
            If iCntr <> matchFoundIndex Then
                Cells(iCntr, 7) = "Duplicate with " & matchFoundIndex
            End If
        End If
    Next iCntr
End Sub

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM