2015-10-22 133 views
-5

請求您提供刪除重複行的VBA代碼。刪除重複後刪除重複行的代碼

Name  Subject  Marks 
Ravi  Maths  90 
Rahul  Physics 85 
Raju  Science 75 
Raju  Science 75 
Ravi  Maths  90 

數據

Name  Subject  Marks 
Ravi  Maths  90 
Rahul  Physics 85 
Raju  Science 75 

要求您提供VBA代碼:數據之前刪除重複的行。

+3

downvoted,因爲因此不** **提供代碼的人誰需要它。但是,如果你搜索你的問題,它確實提供了大量的代碼。如果你在這裏搜索(或者谷歌),刪除重複是相對容易的。也就是說,如果你真的編碼,請告訴我們你已經嘗試了**以及失敗的地方。否則,請檢查功能區數據部分中的刪除重複項功能。不需要代碼,或者您可以在錄製宏時錄製。以 –

+1

爲例,我在excel vba上搜索了112個結果的SO重複項! –

+0

值得注意的是,你收到+2這個問題。我能想到這種情況的唯一原因是,你問過你認識的人可以提出你的問題。如果是這種情況,請不要在此處這樣做 - 在「投票環」中彼此投票的人有時可能會暫停其帳戶。 – halfer

回答

2

用途:

Selection.RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlYes

其中:

Selection可以通過Range對象

Columns:=Array(1, 2, 3)更換是要包括重複列(這意味着除去列1,2和3中的值相同的行

碼是相同的將要的標籤數據>刪除重複

0

由於您要求(兩次!)我們爲您提供代碼,因此您將獲得降低成本。 SO不是代碼寫入服務。請參閱How to Ask a Question。否則,請向我們展示您嘗試過的內容,您擁有的任何代碼以及哪些內容無法正常工作。

但是,由於這是非常直接的,我會指出你在正確的方向......我會看數據選項卡中的"Remove Duplicates"函數。這將做你需要的。

選擇單元格範圍,或確保活動單元格在表格中。

在數據選項卡的排序&篩選組中,單擊高級。

數據選項卡

在高級篩選對話框上的排序&濾波器組,請執行下列操作之一:

要篩選細胞或表的範圍內的地方,點擊過濾列表, 就地。

要過濾的結果複製到其他位置,請 如下:

單擊複製到其他位置。

在複製到框中,輸入單元格引用。

或者,單擊「摺疊對話框」按鈕圖像暫時隱藏 對話框,在工作表上選擇一個單元格,然後按展開對話框中的 按鈕圖像。

選中「僅限唯一記錄」複選框,然後單擊「確定」。

請注意,下次請(作爲@ScottHoltzman評論)包括您所做的任何代碼,嘗試等。

編輯:諷刺的是,我忘了你想要的VBA。查看其他答案,或者執行上述操作,記錄爲宏,然後從那裏開始。

1

D2輸入:

=A2 & CHAR(1) & B2 & CHAR(1) & C2 

和複製下來。在E2輸入:

=COUNTIF(D$1:D2,D2) 

抄下:

enter image description here 然後運行:

Sub RowKiller() 
    Dim i As Long, N As Long 
    Dim r As Range 

    N = Cells(Rows.Count, "E").End(xlUp).Row 
    For i = N To 2 Step -1 
     Set r = Cells(i, 5) 
     If r.Value > 1 Then 
     r.EntireRow.Delete 
     End If 
    Next i 
End Sub