- ベストアンサー
エクセルでのマクロ
A列とB列のデータで重複するものをチェックするマクロを組むには どういう式を作成すればいいでしょうか? 具体的なマクロをよろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ワークシート関数を使ってみました。 Sub test重複チェック() Dim r As Range For Each r In Range("A1:A5") If WorksheetFunction.CountIf(Range("B1:B10"), r.Value) > 0 Then MsgBox r.Value & " : " & "重複しています" Else MsgBox r.Value & " : " & "重複していません" End If Next End Sub
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
(1)相手列において同じ値のセルがあるか関数で調べる COUNTIF MATCH VKLOOKUP(FALSE型) のどれでも出来る。 (2)B列でーた1つでA列第1行から最終行まで、見つかるか繰り返しIF文で聞く (3)両者を同じキーでソートし、マッチングのロジックで比較 (4)A列の最後にB列データを継ぎ足し一本化して、ソートし、 前レコードと同じか聞く。 (5)B列データでA列データを対象にFindメソッドで見つけ、見つかれば重複。 他にもあるかもしれない。こういうロジックを考えることを学ばないとだめ。 >具体的なマクロをよろしくお願い致します。 回答者にコードを作ってくださいということで、丸投げに当たり、このコーナーの規約違反。
お礼
回答ありがとうございます。 なるほど、今後気をつけます。 ご指摘、ありがとうございました。
- merlionXX
- ベストアンサー率48% (1930/4007)
C列に重複数を出します。 Sub test() x = ActiveSheet.UsedRange.Cells(ActiveSheet.UsedRange.Count).Row With Range("C1:C" & x) .FormulaR1C1 = "=IF(COUNTIF(C[-2],RC[-1])>0,COUNTIF(C[-2],RC[-1]))" .Copy .PasteSpecial Paste:=xlValues Application.CutCopyMode = False .SpecialCells(xlCellTypeConstants, xlLogical).ClearContents End With End Sub
お礼
回答ありがとうございます。 非常に参考になりました。
お礼
早速の回答ありがとうございます。 マクロ組んでみますね。