選択範囲内の重複値をハイライトする
なんだかネストが深いしアルゴリズムも効率の悪い雰囲気満載ですが、疲れた頭ですぐ作るとこーなっちゃう。とりあえず動く気配がするので、ま、いっか。
' 選択範囲内の重複値をハイライトする Sub HighlightDuplication() Const DUPLICATE_COLOR_INDEX As Integer = 46 Const DUPLICATE_PATTERN = xlSolid Dim cellA As Range Dim cellB As Range For Each cellA In Selection ' 重複判定済みセルと空セルはスキップ If cellA.Interior.ColorIndex <> 46 And cellA.Value <> "" Then For Each cellB In Selection If cellA.Row <> cellB.Row Or cellA.Column <> cellB.Column Then '自身じゃないセルの値比較 If cellA.Value = cellB.Value Then ' 重複していたらどっちも色付け With cellA.Interior .ColorIndex = DUPLICATE_COLOR_INDEX .Pattern = xlSolid End With With cellB.Interior .ColorIndex = DUPLICATE_COLOR_INDEX .Pattern = xlSolid End With End If End If Next End If Next End Sub
↓VBAマクロを使わなくとも、出来ることはできる。
Excel(エクセル)実用編:重複データのチェック&重複なしのデータ抽出