• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel マクロ 重複チェックについて)

Excelマクロで重複チェックを行う方法

このQ&Aのポイント
  • Excelのマクロを使用して、重複チェックを行う方法について説明します。
  • 特定のシートのA列とB列に製品番号が入力されており、A列とB列を比較して重複がある場合にC列にフラグを入れる方法について説明します。
  • 1個の場合は既に提供されているマクロを使用することができますが、2個以上の場合には別のマクロを使用する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

方法はいくつかありますが、質問者のコードに近いものにするとして。。 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 '------------------------------------ 以上です。  

hyogara777
質問者

お礼

早い回答助かりました。うまくできました。

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 余計なお世話かもしれませんが・・・ 関数でも対応できると思います。 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

hyogara777
質問者

お礼

関数での回答も記載して頂きありがとうございます。マクロでこのようなことができるのですね。勉強になりました。

関連するQ&A