返回列表 上一主題 發帖

[發問] 判別重複後,依照條件刪除

回復 1# Michelle-W
  1. Sub Ex()
  2.     Dim rng As Range, dic As Object
  3.     Dim r As Long
  4.    
  5.     r = [A2].End(xlDown).Row
  6.     Range("$A$2:$G$" & r).RemoveDuplicates Columns:=Array(2, 4), Header:=xlYes
  7.    
  8.     Set dic = CreateObject("scripting.dictionary")
  9.     For Each rng In Range("A2", [A2].End(xlDown))
  10.         If Not dic.exists(CStr(rng.Offset(, 1).Value)) Then dic(CStr(rng.Offset(, 1).Value)) = ""
  11.         If rng.Offset(, 3) <> "" Then dic(CStr(rng.Offset(, 1).Value)) = rng.Offset(, 3)
  12.     Next
  13.    
  14.     For r = Range("A2").End(xlDown).Row To 2 Step -1
  15.         If Cells(r, 4) <> dic(CStr(Cells(r, 2).Value)) Then Rows(r).EntireRow.Delete
  16.     Next
  17. End Sub
複製代碼

   判斷並刪除.rar (16.53 KB)

TOP

回復 1# Michelle-W

我通常先用以下函數找出重複資料 , 然後再篩選"重複" 刪除
提供給你參考
=IF(COUNTIF($A$2:$A$6,A2)=1,"","重複")
無止盡的努力上進

TOP

        靜思自在 : 滴水成河。粒米成蘿,勿輕己靈,勿以善小而不為。
返回列表 上一主題