• ベストアンサー

エクセルマクロを使用して異なるセルの重複データを探したい

fumufumu_2006の回答

回答No.1

こんなのはどうでしょうか? Sub sample() Dim r As Integer '1~100行 For r = 1 To 100 'A列のデータが""でなくA列とB列が同じければ If (Cells(r, 1) <> "") And (Cells(r, 1) = Cells(r, 2)) Then '背景赤 Cells(r, 1).Resize(1, 2).Interior.ColorIndex = 3 Else '背景なし Cells(r, 1).Resize(1, 2).Interior.ColorIndex = xlNone End If Next End Sub

akyom2
質問者

補足

早速のご回答ありがとう御座います。 私の質問が言葉足らずでしたので補足させて頂きます。 A列とB列の1行目から100行目までの全てのセルの中から重複データを探したいと考えております。 重複データは必ずしも隣のセルにあるとは限らず、A1とA5にある可能性もあれば、A2とB3にある場合もあります。 ややこしい話で大変申し訳御座いませんが、以上の状況を加味した上でアドバイスを頂ければ幸いに存じます。 宜しくお願い申し上げます。

関連するQ&A

  • エクセルマクロで特定の文字を探して隣のセルの色を変える

    エクセルに入力されている特定の文字を探し出して隣のセルに色をつけたいと考えています。 検索の対象となるセルは全てのシートのB列です。 検索する文字は色々な英数字の組み合わせの中に含まれています。   A  B 1  10 ABC000012 2  20 AAC000013 3  30 ACC000014 上記のような値が入力されている状態で、B列の"ABC"か"AAC"の何れかが入力されているセルの隣のA列のセルの色を変えたいです。 この場合はA1とA2のセルの色が変わるというイメージです。 VBAを使って処理したいのですが、どなたかご教授頂けないでしょうか。宜しくお願いいたします。

  • Excel 2007 重複データのチェックについて

    Excel 2007 重複データのチェックについて A列にあるデータ(約100件)で重複している値がある 行についてB列にフラグをつけます。 やりたいことはどの行とどの行が重複しているのかを すぐに分るようにしたいです。 添付画像のように重複している行に番号をつけていくことは可能でしょうか。 番号は1から順番に増えていきます。 自分は下記を考えましたが、これでは重複している行に「重複データ」と入る だけでわかりづらいです。 =IF(COUNTIF($A$2:A2,A2)>1,”重複データ”,”○”) よろしくお願いいたします。

  • エクセル2016で重複データのみ抽出

    ホームタブ、「条件付き書式」でセルの強調表示ルールの「重複する値」で設定すると、重複する値に色をつけられますね。 この「色のついた」セルを含む行のみを抽出する方法はありますか? 例えば、 1 2 2 3 3 3 4 5 6 6 という列で重複チェックをすると、 2 2 3 3 3 6 6 に色をつけることはエクセルの機能で可能ですが、この行のみ表示で絞り込みたいです。 よろしくお願いします。

  • エクセルで重複するセルを削除したい

    エクセル2000で同じ内容のセルが複数あったとき、ひとつだけを残し他を削除する方法を教えてください。 ただし少し条件があります。 データーは5列100行位からなっています。 A列にある重複したデーターのセルを削除したいのですが、A列は同一なのですがB列は異なっています。B列に数字が入っているセルとうでないセルがあるのですが、数字が入っているものを残したいのです。 具体例は次のとおりです。 A列に 「ホンダCIVIC」 B列 「-」と書かれた行と A列に 「ホンダCIVIC」 B列 「2」と書かれた行、 A列に 「ホンダCIVIC」 B列 「5」と書かれた行、 のA列だけを見ると重複した3行が有ったとします。 B列に「5」または「2」の入った行ひとつだけ残し、他を削除したいのです。 何かよい方法があればお教えください。よろしくお願いします。

  • マクロを使用しての重複チェックについて

    ここの質問にCOUNTIFや条件式書式などでデータの重複チェックを する内容はあるのですが、ちょっと思ってるのと違うので 質問します。 A列 B列 1 aaa 1 aaa 2 aaa 2 aaa 3 bbb 3 bbb 4 ccc 4 ccc 上記のように8行のデータがあります。 条件で、A列の数字が同じ数字でB列が同名の場合は、 チェック対象外で、A列の数字が違う数字でB列が同名の場合 (上記でいうと1 aaa と 2 aaaの場合)は、重複で対象行を 網掛けをするという処理を作りたいのですが、そういうことって できるのでしょうか。 まずは、値を明示的にやるべきだと思いますが、 理想としては、A1とA2が同じ値でB1とB2の値が一緒の値だったら 処理なし。 A1とA2の値が違う値でB1とB2の値が一緒の値だったら 重複っていうような処理を行えたら幸いです。 理由は、どんどんなデータ(行)を追加することを想定させた場合を 考えております。 参考になるのがありましたら教えてください。

  • 重複データを加算する

    関数でもVBAでも構いませんので2点ご教示下さい。 Excelに以下のようなデータが入っています。 A列   B列   C列   D列 名前  期限   点数  確認者 1.A列の名前欄には重複した名前が入る場合もあります。  この時、もし名前が重複していたら前回入力したデータの  ポイントに、今回新たに入力しようとしたポイントが加算される。 2.B列の期限が本日を過ぎたらその行全体が赤になり、  D列の確認者セルにデータが入ったら、  赤になった行を色無しに戻す。  現在は別のセルにtoday()関数で今日の日付があり、  その日を越すと行全体が赤になるという条件付書式を  設定してあります。 以上2点になります。宜しくお願い致します。 万が一不足している情報などがありましたら仰って下さい。

  • EXCEL 条件による重複セルの検出

    列A   列B   (列C) A2001   0    (*) A2001   0    (*) A2001   1    (*) A2001   1    (*) A2001   2 A2001   2 A2002   0 A2003   1    (*) A2003   1    (*) A2003   3 A2003   3 列A、Bに上記のようなデータが入力されている。 以下の条件でデータを抽出し、列Cに印(上の例では*)を付けたい。 1.列Aが重複しているならば、 2.重複しているデータの中で列Bを比較し、 3.列Bの中で最大の値ではないものに対して*を付ける。 このような処理を行いたいのですが、さっぱり分かりません。 関数でも、VBAでもどちらでもかまいません。 どうぞよろしくお願い致します。

  • エクセルのマクロについて(重複セル色付け)

    現在、エクセルで重複セルに色をつける際に、 条件付き書式から重複セルに色をつけております。 しかし、行数が多くなってくるにつれ、表が重くなってきましたので マクロで出来ないかをお教えいただきたいです。 重複のチェックは I から AYまで数字が入っており、 各行ごとの I から AYまでチェックをし、重複した数字のセルに色をつけたいです。 BからHは任意に数字を入力をしますので、Bに文字が入っている行について I から AYまでの重複チェック→色付けとなります。 そして、データも日々増えていきますので、 行の下からBに数字が入っているかを検索し、 入っていたら、その行から上に向かって各行ごとにチェック・・・ としたかったのですが、理屈は分かっていても組めないという情けない結果になり、 皆様にご相談させていただいた次第です。 表現が下手で申し訳ありませんが、ご回答をお願い致します。

  • 重複数字の数に応じてセルに色をつける。

    このカテゴリーのエクセルの達人の方々に質問です。 どなたか回答して頂ける方がお見えでしたらよろしくお願いします。 (ちゃんとした回答ではなく、文句やクレーム等を混ぜた記載はご遠慮ください。  また私の質問が気に入らない場合は無視して頂ければ結構です。) 【質問】  添付図のとおり、1列×25行の中に数字が1~31まであり、  重複数字を含んで昇順に並んでおり、それが4列あります。  1列毎に数字を見て以下の条件にあえばセルを塗り潰します。   2個重複⇒セルを黄色に塗り潰す。   3個重複⇒セルを青色に塗り潰す。   4個重複⇒セルを緑色に塗り潰す。   5個重複⇒セルを赤色に塗り潰す。   上記を実現する方法をVBAで実現する方法が知りたいです。   【注意事項】   ・1列×25行の中にある数字の並びは毎回異なります。   ・1列×25行の中に重複数字が無い場合があります。(例:A列)   ・VBAで実現する方法~、と書きましたが、    同様のことが他の方法でも実現できればそれを教えて下さい。   ・使用するエクセルは2021です。 以上、よろしくお願いします。

  • エクセルで重複セルを削除するマクロを考えています

    シート1のA列に顧客No.が並んでいます。 A列は 2 2 3 4 4 4 5 7 8 ・・・ という風に数千番台までデータがあります。 数字が飛んでいるのは永久欠番的な顧客がいるからです同一番号が複数あるのは B列以降に入力されている顧客情報に追加が あった場合です。 前半 A列とB列の間に列を挿入してB1セルに =A1     と入れます    B2以降は =IF(A2=A1,"",A2) と入れます。    この式をA列のデータがある部分まで    コピーする。    B列をコピーしてB列自体に「値」で貼り付ける。 後半 B列でフィルタをかけて空白セルを選択し    そこに属するダブリ列データを全部消す。    B列そのものを削除し    A列で昇順に並べ替えしたら完成。 というマクロを考えているのですが 後半の部分をどうやって記述したらよいかわかりません もしくはフィルタや並べ替え等で行うのは VBA向きではないのでしょうか? なにか良い方法がありましたら御教授願います。