- ベストアンサー
Excelマクロで重複チェックを行う方法
- Excelのマクロを使用して、重複チェックを行う方法について説明します。
- 特定のシートのA列とB列に製品番号が入力されており、A列とB列を比較して重複がある場合にC列にフラグを入れる方法について説明します。
- 1個の場合は既に提供されているマクロを使用することができますが、2個以上の場合には別のマクロを使用する必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
方法はいくつかありますが、質問者のコードに近いものにするとして。。 A列と同行のC列に、1をセットする場合。 '--------------------------------- Sub test() Dim R As Long Dim WS As Worksheet Set WS = Worksheets("Sheet3") For R = 2 To WS.Cells(Rows.Count, "A").End(xlUp).Row If WorksheetFunction.CountIf(WS.Range("B:B"), WS.Cells(R, "A")) > 1 Then WS.Cells(R, "C").Value = 1 End If Next R End Sub '------------------------------------ 以上です。
その他の回答 (1)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 余計なお世話かもしれませんが・・・ 関数でも対応できると思います。 C2セルに =IF(COUNTIF(B:B,A2)>1,1,"") としてオートフィルで下へずぃ~~~!っとコピーではどうでしょうか? これをVBAでやるとすれば、 Sheet3のSheet見出し上で右クリック → コートの表示 → 白い画面に↓のコードをコピー&ペーストしてみてください。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim i As Long For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row If WorksheetFunction.CountIf(Range("B:B"), Cells(i, 1)) > 1 Then Cells(i, 3) = 1 End If Next i End Sub これでその都度マクロを実行しなくても数値を入力するたびにマクロが実行されるはずです。 以上、参考になれば良いのですが・・・m(__)m
お礼
関数での回答も記載して頂きありがとうございます。マクロでこのようなことができるのですね。勉強になりました。
お礼
早い回答助かりました。うまくできました。