Excel VBAで重複行を色付けする方法について

このQ&Aのポイント
  • Excelで2ヶ所の場所を重複しているかチェックし、重複している行に色を付けたいです。
  • 質問の要点は、Excelの特定の列で重複行をチェックし、重複している行に色を付ける方法です。
  • 2万行近いデータに対して関数を使うと処理が重くなるため、Excel VBAを使用したいです。
回答を見る
  • ベストアンサー

エクセル 重複行色付(VBA)について質問です。

Excelで、2ヶ所の場所を重複しているのかどうかチェックし、重複でしたらその行ごと色を付けたいと思っております。 |    A    |    B   |   C   |   D   |   E   |    田中    1046587920   8/2     8/6    100364987    鈴木    1098463612   8/3     8/5    125698001    森川    1548758743   8/20    8/23    103587410    川島    1046587920   8/22    8/23    100365871    森本    1046587920   8/25    8/26    100364987 例えば、上記の様な一覧があり 「B列」 と 「E列」 とで重複を確かめて、同じであれば色が付く様にVBAを組みたいのですが、現在調べて 「B列」 のみの重複に色付けは出来るようになったのですが、2ヶ所重複に色をつけることで困っております。 上の例で行きますと、田中さんと森本さんの行に色が付く形が理想でして、川島さんの、「B列」は該当しておりますが、「E」列が異なるため、色は付きません。 行数は。2万行前後になるのですが、関数を当てると処理が非常に重くなるため、VBAを試みております。 お知恵をお貸し頂けましたら幸いです。

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

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

NO1です。 >B1の数値とE1の数値を確かめる式だと思うのですが、B列全ての数値と重複が無いのか確かめたいのです。B2 B3 B4 B5 と E2 E3 E4 E5 ・・・・  ⇒条件付き書式は余りご理解されていないみたいですね。   条件付き範囲を選択すれば、この数式が全てのセルに反映されますので一度、A:E列を選択して条件付き書式を設定してみて下さい。

Esute_Miyu
質問者

お礼

COUNTIFを調べて使い方を理解致しました。 ご回答誠にありがとうございました。

その他の回答 (1)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

>2万行前後になるのですが、関数を当てると処理が非常に重くなるため、VBAを試みております  ⇒2万行ともなれば関数でもVBAでも余り差はないと思いますので、一度、条件付き書式設定でお試しください。   条件関数例です。   =AND(COUNTIF($B:$B,$B1)>1,COUNTIF($E:$E,$E1)>1)

Esute_Miyu
質問者

補足

補足になるかは分かりませんが、約2万行の中にどの位重複のデータが入っているか分からず、どこに重複データが入っているか分からない場合で、「B列」と「E列」がお互いに同じ数値なら色付けということなのです。 教えて頂きました条件関数では、 =AND(COUNTIF($B:$B,$B1)>1,COUNTIF($E:$E,$E1)>1)では、 B1の数値とE1の数値を確かめる式だと思うのですが、B列全ての数値と重複が無いのか確かめたいのです。B2 B3 B4 B5 と E2 E3 E4 E5 ・・・・ ステップとしては、 B2の数値がB列の2万行の中にあるのかチェックして、あれば次にE列の2万行をチェックしてあれば重複処理 次にB3の数値をB列の2万行の中からチェックし、あれば次にE列でのチェックと2万行続く作業になるのですけど。 一度条件書式で試みたことがあるのですが、凄く重たかった印象があったのす。

関連するQ&A

  • エクセルまたはVBAで重複行を削除

    例えば、 A B 1 1 a 2 2 b 3 3 c 4 4 d 5 4 d 6 5 e 7 6 g 8 6 g といった表があるとします。 A列をキーに、昇順にされた一覧表です。 ここで番号が重複している行、この例では4行目と5行目、7行目と8行目がそうです。 こういった重複した行を検索して、行削除したいのですがどんな方法が可能でしょうか? 最終的にはVBAでのイベントになるでしょうが、それ以前にエクセルで前準備などしておくようなことは必要でしょうか? 表自体はかなり膨大な量のデータベースです。 よろしくお願いします。

  • VBAでの重複データ統一についてです。

     いつもお世話になっております。VBA初心者です。 過去の質問で、2つのセルの重複データを一つのデータにする処理があったのですが、3つのセルの重複データを1つのデータにするやり方に苦戦しております。 (A列) (B列) (C列)  A社  鈴木   男性  B社  田中   女性  A社  鈴木   男性  B社  佐藤   女性  B社  田中   女性  A社  鈴木   男性      ↓↓ (A列) (B列) (C列)  A社  鈴木   男性  B社  田中   女性  B社  佐藤   女性  となるようにしたいのです。 サンプルソース等がありましたら、 よろしくお願いいたします。

  • Excel VBAで値が重複する行を削除する

    Excel2000を使っています。 シートAに数千件のデータがあります。 シートBのE列にある文字とシートAのD列の文字が重複する場合に、シートAの重複するセルがある行を削除する(且つできれば行のデータを抜き出すVBAを作ろうと考えています。 最近VBAの初心者本をやっと理解したところで、ちんぷんかんぷんとまではいかないけど、知恵熱がでました。 仕事なので自分でなんとかすべきかと思いますが、きっかけの調べ方がまずわからない。 どなたか、解かるきっかけだけでも与えて頂けないでしょうか。とくに、別シートの値と重複する値を探す場合に何をいれるかわかればきっと道は開けると思うんですが…。 初めての質問なので、質問内容が至らなかったらもうしわけありません。

  • エクセルVBAの質問です

    sample.xlsがあり内容は下記のように A列に名前、B列に数字が入り、行数は一定でありません 田中一郎 3 鈴木健一 5 佐藤太郎 8 田中一郎 5 田中一郎 2 佐藤太郎 7 鈴木健一 3 佐藤太郎 9 鈴木健一 54 佐藤太郎 8 田中一郎 9 このエクセルシートにコマンドボタンを付け、VBAでコマンドボタンを押した場合 指定したエクセルファイル”kekka.xls”に 田中一郎 19 鈴木健一 62 佐藤太郎 32 と言うように、名前別でその氏名の横の数字の合計を表示させたいと考えています。 何卒お知恵をお貸しください、お願いします。

  • エクセル 重複行の編集 色をつける

    お世話になります。 エクセル2000にて以下のような表を作りました。    A |B |C 1 名称|1/11|123 2 ああ|1/11|456 ←行全体に色を付けたい 3 ああ|1/12|789 4 いい|1/11|999 ←行全体に色を付けたい 5 いい|1/11|888 ※行はA・B列をキーに、昇順(順序良く)並んでいます。 表の中に重複行(A・B列をキーとして)が存在していて、その一つ目の行に、色を付けたいのですが、 どうすれば実現できるでしょうか? 例でいうと、2・4行目に色を付けたいのですが、術が思いつきません。 どうぞご教授下さいm(__)m

  • 【Excel VBA】重複行の削除

    はじめまして。 IDの重複を削除し、日付データを横1列にまとめるVBAについてご教示いただけますと幸いです。 ------------------------------------------------------- ▼シート1(データ入力がされているシート)    A   B   C   D   E   F    1   ID 日付 2  1234  1/1  1/6  1/10  1/20   3  1234  2/3  2/20 4  1234  3/2 5  7777  1/10  1/15  1/20 6  7777  2/2   2/12  2/22 7  9876  2/3 ⇓ マクロ起動後 ▼シート2(重複行を削除しまとめたシート)    A   B   C   D   E   F   G   H 1   ID 日付 2  1234  1/1  1/6  1/10  1/20  2/3  2/20  3/2 3  7777  1/10  1/15  1/20  2/2  2/12  2/22 4  9876  2/3 【補足】 列情報  ・A列…ID  ・B-F列…日付(左詰め) ※日付はIDごと月毎に行が変わるため、IDによって複数行存在する場合があります。 ※A列のIDは重複しない場合もあれば、4行以上ある場合があります。 ※シート1のデータはおおよそ1000-5000行です。 ※IDに対して、日付は5つあれば問題ありません。そのためG列以降の日付を削除しても支障はございません。 ------------------------------------------------------ VBAの知識があまりなく、調べて出てきたものをコピペ使用も試みたのですが、 上手く動かす事ができませんでした…。 お力添え頂けますと幸いです…。 Windows10でエクセル2016を使用しております。 何卒宜しくお願いいたします。

  • excelの重複について

    顧客情報を管理しています。 A列~住所 B列~名前 C列~空白(必要に応じ○を入力) D列~空白or重複 (1)、順に入力し同じ住所と名前の重複があればセルに色が付く方法ってありますか? 住所のみ一致や名前のみ一致の時は色は付けません。 (2)、さらに上記の条件で同じ住所と名前があればセルに色を付けC列のセルに○が入力されA列B列C列すべてが重複したらD列に「重複」を表示できますか? 条件付き書式や関数等の組み合わせいいですが、初心者なのでマクロは使用できません。 また抽出したりする工程は不要です。 よろしくお願いします。 例 A列 : B列 : C列 : D列 住所 : 名前:チェック: 1 : 1条東1丁目 : 田中: ○ 2 : 2条東2丁目 : 鈴木: ○--------------2条東2丁目の鈴木は2つあるので色を付ける。 3 : 3条東3丁目 : 竹田: ○--------------3条東3丁目の竹田は2つあるので色を付ける。 4 : 1条東1丁目 : 小林: 5 : 2条東2丁目 : 鈴木 : ○ 重複-----2条東2丁目の鈴木に○が2つ付いたので「重複」と表示 6 : 3条東3丁目 : 竹田-----------------3条東3丁目の竹田は2つあるので色を付ける。

  • EXCEL VBA 特定の行に色をつけたい

    お世話になります。田中と申します。 金額の差異チェックするシートがあります。A~Z列まで各項目があり行は可変です。 データはA2から始まります。 Z列に[結果]という項目があります。 この結果が"NG"の場合はその行全体の文字を赤に塗る処理をVBAで自動化したいのです。 現在は手動で[結果]列にオートフィルターをかけて該当行に色付けしているため結構手間がかかります。 理想はこのシートに[判定]というボタンをおいてボタンを押したら上記の処理が実施されると嬉しいです。 どなたまお知恵をお借りできますでしょうか。 よろしくお願い致します。 EXCEL2013

  • エクセル2000で集計行に色をつける

    エクセルの縦に長い表があります。 途中、ところどころが集計行、一番下が総合計です。 以前、こちらで教えていただいた「集計」機能で作成したものです。 今回の質問は、その集計行のセルに色をつける方法です。 集計行のE列には必ず「○○ 計」の文字列がありますから、これを判別して、B列からE列まで色をつけるVBAまたは、便利な方法がありましたら教えてください。 よろしくお願いします。

  • EXCEL2003 重複データに色を付けるVBA

    A列のA2からA21に氏名、B列のB2からB21に住所が入力済です。A列で重複しているデータに色をつけて、さらに並び替えをしたいと思います。色は黄色、並び替えの設定は黄色で色を付けたセルがA2から順に表示するVBAを教えていただけませんでしょうか。またお手数でも列をB列、C列に変更した場合についても教えていただけませんでしょうか。VBAコードの貼り付けはできます。よろしくお願いします。

専門家に質問してみよう