• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【マクロ】列比較し色塗りしていく)

比較し色塗りしていく方法と方法2

このQ&Aのポイント
  • A列とC列を比較して、C列の値がA列に含まれていれば赤色に色塗りします。
  • A列とB列とC列を比較して、C列の値がA列とB列の両方に含まれていれば緑色に色塗りします。
  • 上記の作業を行うために、EXCELの操作方法を教えていただけませんか?

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

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

一例です。 Sub sample() For i = 1 To Cells(Rows.Count, "C").End(xlUp).Row mycl = xlNone Set a = Columns("A:A").Find(Cells(i, "C")) If Not a Is Nothing Then Set a = Columns("B:B").Find(Cells(i, "C")) If Not a Is Nothing Then mycl = 4 Else mycl = 3 End If End If Cells(i, "C").Interior.ColorIndex = mycl Next End Sub

nanacolobiyaoki
質問者

お礼

早速のご回答まことにありがとうございました。 無事できました。 今後、応用が利くようにとソースの理解を一生懸命頑張っておりますが・・ 難しいです。。ネットで検索しながら意味を調べてゆきます。 本当にありがとうございました。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

マクロで行うことのメリットはさほど無いように思いますね。通常の条件付き書式を設定することで十分でしょう。 例えばC列を選択します。C1セルがアクティブセルの状態になっています。 そこで「条件付き書式」の設定で「数式が・・・」で数式の窓には最初の条件の設定でしたら次の式を入力して「書式」で「塗りつぶし」のタブから赤色を選択してOKします。 =AND(C1<>"",COUNTIF(A:A,"*"&C1&"*")>0) 次に第2の条件ですが同じようにC列を選択して「条件付き書式」の「数式で・・」で数式の窓には次の式を入力します。 =AND(C1<>"",AND(COUNTIF(A:A,"*"&C1&"*")>0,COUNTIF(B:B,"*"&C1&"*")>0)) 「書式」の塗りつぶしのタブから緑色を選択してOKします。 以上で完成です。

nanacolobiyaoki
質問者

お礼

条件付き書式でもできるのですね。 すごく勉強になりました。 マクロだけではなく他の方法(条件付き書式)なども頭に入れながら やらないとダメですね。 早速のご回答まことにありがとうございました。

  • yui56544
  • ベストアンサー率69% (85/123)
回答No.1

EXCELのバージョンは何をお使いですか? マクロでなくとも、エクセルの基本機能「条件付き書式」で充分可能だと思います http://www2.odn.ne.jp/excel/waza/cformat.htm http://www.eurus.dti.ne.jp/~yoneyama/Excel/jyo-syo.htmll マクロでやるなら、これのベストアンサーを参考しては如何でしょうか? http://okwave.jp/qa/q4878190.html

nanacolobiyaoki
質問者

お礼

早速のご回答ありがとうございました。 条件付き書式のURLが2つとも飛ばず確認することができませんでしたが、 今回はマクロで頑張ってみようと思います。 マクロの参考URLを元に応用して頑張ってみます。 ありがとうございました。