2016-11-21 60 views
0

如何以最簡單的方式對此進行編碼?檢查重複的Excel VBA

如果讓我們說Range("A1").value = "Thursday"

檢查所有的細胞複製其在它們的值(B1,C1,D1,...)

如果發現重複,選擇3個小區下面的每個那些細胞Range("B2:B4")等等......

謝謝你提前!

回答

1

的最簡單的方法是檢查重複:

使用WorksheetFunction

= COUNTIF(A:A,A1)> 1

enter image description here

使用VBA

Dim Target As Range 
Dim r As Range 

Set Target = Range("A1", Range("A" & Rows.Count).End(xlUp)) 

For Each r In Target 
    r.Offset(0, 1) = WorksheetFunction.CountIf(Target, r.Value) > 1 
Next 

如果你想刪除重複範圍內的第一列

Target.RemoveDuplicates列:= 1,部首:= xlNo

如果你想擴展您的範圍,包括列B和C

設置目標=範圍( 「A1」,範圍( 「A」 & Rows.Count).END(xlUp))。調整(,3)

在第一列和第三列刪除重複

Target.RemoveDuplicates列:=陣列(1,3),部首:= xlNo

刪除包含重複的行

Target.EntireRow.RemoveDuplicates Columns:= Array(1,3),Header:= xlNo

+0

Thank you for your機智的回覆!我會試試這個! :) – JcDiago

+0

如果文本超過255個字符,你在做什麼? – MeLine

+1

@MeLine我只是測試它和RemoveDuplicates按照預期在一列填充300個字符的字符串 – 2017-11-20 14:22:03