【Excel VBA】快速標示同一欄重複資料

VBA快速標示同一欄重複資料

當有資料想確認是否有重複,有沒有什麼快速的方法標示出重複的資料?以下帶你使用VBA快速標示出同一欄重複資料

輸入巨集

※輸入以下指令※

Sub 標示同一欄重複()
Dim i As Integer, lastrow As Integer
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
    For i = 2 To lastrow
        Range("A1").AutoFilter 1, Cells(i, 1)
        If WorksheetFunction.Subtotal(3, Range("A:A")) > 2 Then
            Cells(i, 2).Value = "重複"
        End If
        Next i
    Range("A1").AutoFilter
End Sub

執行巨集

點選「開發人員」-「 巨集」或按下「Ctrl」+「F8」快捷鍵,並「執行」巨集。

執行後則快速標示同一欄重複資料(如E欄),則可將重複資料做處理。

語法說明

Dim i As Integer, lastrow As Integer
‘宣告變數「i」型態為「整數」、「lastrow」型態為「整數」。
‘Integer變數範圍為-32768到32767,範圍已勘用,若數值超過的話可改成Long變數。
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
‘計算出最大列數後,再移動到上方有資料所在的列數,則為最後一列的列數,則是將變數「lastrow」指定為最後一列。
For i = 2 To lastrow
‘使用For迴圈, i 從 2 開始直到最後一列。
Range(“A1”).AutoFilter 1, Cells(i, 1)
‘AutoFilter 1指定為「第一列」做篩選;Cells(i, 1)篩選條件為第 i 列第 1 行,如 i = 2時,則是篩選第二列第一行,也就是篩選出名稱「橘子」。
If WorksheetFunction.Subtotal(3, Range(“A:A”)) > 2 Then
‘使用工作表函數SUBTOTAL,3為代碼即為COUNT A功能,計算儲存格非空白的數量,而SUBTOTAL特點是只計算可見的非空白數量。整段則是記算出篩選後是否超過2個數量(重複),則進行以下。
Cells(i, 2).Value = “重複”
‘在 i 列 2 欄儲存格填入「重複」。

其他文章分享

【Excel VBA】
隱藏除第一張外
其餘工作表

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *