Excelで選択したセル範囲の値に重複データがないかどうか調べるためのVBAのサンプルプログラムを覚書。
ワークシート関数のCOUNTIF関数をVBAの中で利用して重複をチェックする。
サンプルプログラム概要
サンプルプログラムの処理の概要は以下の通り。
選択範囲のセル1つ1つについて以下の式を実行した結果を取得
COUNTIF("選択範囲","1番目のセル")
COUNTIF("選択範囲","2番目のセル")
・
・
・
COUNTIF("選択範囲","n番目のセル")
返ってきた結果が2以上であれば重複していることを意味しています。
サンプルプログラム
サンプルプログラムのコードを以下に記載します。
Sub chkDuplicate()
Dim rng As Range, r As Range, chkVal As Integer
Set rng = Range(Selection.Address)
For Each r In rng
chkVal = Application.CountIf(rng, r)
If chkVal > 1 Then
r.Offset(0, 1).Value = "重複"
Else
r.Offset(0, 1).Value = ""
End If
Next r
End Sub
サンプルプログラムの実行方法
重複を調べたいセル範囲を選択した状態でサンプルプログラムを実行します。
重複しているかどうかの結果を右隣のセルに表示するようになっているので、実行する前に必ず右隣のセルをあけておいてください。
コメント