エクセルのマクロで重複セルに色をつける方法

このQ&Aのポイント
  • エクセルで重複セルに色をつける方法をマクロを使ってご紹介します。
  • 表が重くなる問題を解決するために、マクロを活用することで効率的に重複セルに色をつけることができます。
  • また、日々増えていくデータに対応するために、行の下から検索し、上に向かってチェックする方法も解説します。
回答を見る
  • ベストアンサー

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

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

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

Sub Test() Dim i As Long Dim myRng As Range, c As Range 'B列の最終行から上に向かって処理 For i = Cells(Rows.Count, "B").End(xlUp).Row To 1 Step -1 'B列の値が数字なく、かつ空白でないセルを選別 If Not IsNumeric(Cells(i, "B").Value) And Cells(i, "B").Value <> "" Then Set myRng = Cells(i, "I").Resize(, 43) For Each c In myRng If Application.CountIf(myRng, c.Value) >= 2 Then '範囲内に同じ値が2つ以上あると色付け c.Interior.ColorIndex = 38 End If Next End If Next End Sub

shige9094
質問者

お礼

ご回答ありがとうございます。 先程、作ったエクセルに頂いたマクロを入れてみたのですが・・・ 一瞬砂時計になって色がつきませんでした。 ここまでマクロを組んで頂きましたので、 読み解いてその後完成させたいと思っております。 完成しましたらご報告いたします。

関連するQ&A

  • 値が奇数の時、任意のセル範囲の行の色付けマクロを

    条件つき書式のマクロを教えてください。 任意の選択したセルの右端列に数字を入力しています。 その数字が奇数だったら、数字の入力してある任意の列は除いて、行の色付けをしたいのです。 選択するセル範囲と数字の入っているセルの列はシート毎、ブック毎に、変わりますので、マクロで設定をしたいと思っています。エクセル2010を使っています。 よろしくお願いします。

  • エクセルで条件を付けたセルの個数

    エクセルで複数行の表を作りました。各行ごとに異なる条件付き書式を施し、適合結果のセルを書式設定のパターンで色づけしました。色付きのセルが縦(列)に何個あるかを表示させるにはどうすれば良いでしょうか。教えてください。

  • エクセルでの重複セルの削除

    こんにちは いつもお世話になっています。 エクセル2003を使っています。 A列に文字列があり、条件付書式で重複データのセルに背景色を付けています。 A列は、ふりがなで昇順でソートしてあります。 条件付書式は数式に =COUNTIF(A:A,A1)>1としています。 B列にはA列の特定セルの行にだけ数字データがあります  A列の特定セルとはA列の重複セルの下側のセルです。 重複データは常に2つだけ出てきます。ソートしてあるのでB列にデータの無いセルが上側に配置されているのだと思います。 例えば、 A    B 事項 該当箇所 (見出しです) 愛知  秋田 秋田 12.23.34. 石川 愛媛 愛媛 5.68.78. (A列の秋田、愛媛のセルの背景色が条件付書式で黄色くなっています) という具合です。 ここで質問ですが、 重複セルの上側のセルだけを削除する方法を教えてください。上の例ではB列にデータの無い秋田、愛媛です。 フィルタオプションで「重複セルを無視する」にチェックをいれても重複セルの下側のセルが無視されてしまいます。また、検索で色つきセルだけを表示しようとしても条件付書式ではできないようです。 わかりにくい説明ですみません。よろしくお願いします。

  • セルを自動的に色づけ

    現在、エクセルにて工程表を作成しておりますが、行き詰っております。 あるセルに数値を入力したら、自動的に別のセルが色付けされる様な工程表を作成しようとしているのですがうまくいきません。 条件付き書式では1行ならば可能なのですが2行など複数行になるとできません。 例としては以下になります。 例)セルA1に5と入力すると、セルB1~F1までが黄色に色づけされる (※伝わりにくい部分もあると思い画像も添付いたしました。) どうしてもわからなくて質問いたしました。 作成方法、もしくは参考になるサイトなどありましたら、教えてください。 よろしくお願いします。

  • エクセルのマクロについてなのですが…

    現在マクロを使用して数字の入力を行おうとしております。 セルのB2は変数iを入力(例えば5を入力) 値を入力する範囲はセルのCells(1,1)からCells(i,1)(下記あ~お)に 1~iまでの数字を重複する事無く入力します。 なお、セルのCells(1,1)からCells(i,1)に入力する数字は Rndを使用して乱数にしたいのですが 乱数の入力までは何とか辿り着いたのですが どうしても重複してしまいます。 ネットで調べたのですが、コピレば使えるのですが マクロの意味が良く分からないので 出来れば行ごとの意味も教えていただきたいのですが… ワガママばかりで申し訳ありません。 A B C D 1 あ 2 い 5 3 う 4 え 5 お 6 ・ ・ ・

  • セルの色付け

    B列に何か文字でも数字でも入力されれば(空白でなくなれば) A列のB列と同じ行のセルに色がつくという設定をしたいと思います。 条件付書式で設定ができると思うのですが どうすればいいでしょうか?

  • Excelでセルの色づけを自動に行いたいです。

    Excelでセルの色づけを自動に行いたいです。 入力した数値と同じ数のセルに、自動で色をつける事は可能でしょうか? 例えば、A1のセルに「5」と入力すると、隣のセルB1~F1までの5つのセルが 塗りつぶされるというようなことをしたいと思っています。 条件付書式、またはVBAで方法があれば教えて下さい。

  • エクセル 横カレンダー セルの色付けについて

    一ヶ月間分のカレンダーで日付をタテに組んだ時、条件付書式で日曜祭日のセルの色を行単位で色づけ出来るのですが、日付をヨコに組んだ時は、セルの色を列単位で設定するにはどうすれば良いのでしょうか。 会社のカレンダーが従来よりヨコ組みなので出来れば現状のまま、セルの色付けをしたいのですが…。どなたか教えてください、宜しくお願いいたします。

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

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

  • エクセルでのセルの色づけ方法

    教えてください。 エクセルで、8000行、15列程度の表があります。 例えば、A2に、Aと入力すると、A2とA1の両セルが水色 Bと入力すると、A2とA1の両セルが黄 Cと入力すると、A2とA1の両セルが赤 他にも、例えば C4に、Bと入力すると、C4とC3の両セルが赤 Bと入力すると、C4とC3の両セルが黄 Cと入力すると、C4とC3の両セルが赤   などのように、A=水色   B=黄色   C=赤になるように 条件付き書式を設定し、その書式を他のセルへコピーして、 1000行位までは、ちゃんと保存できたのですが、8000行程度まで、コピーして、保存すると、『保存できません』と表示されてしまい、1000行以上は条件付き書式のコピーをしても、コピーはできますが、保存できないため、大変困っています。。。もしかして、条件付き書式には、書式のコピーができる制限があるのでしょうか?あとは、VBなどで対応 するしかないのでしょうか。VBもまったく分かりません。。 是非、よろしくお願いいたします。

専門家に質問してみよう