• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「二つのセルの条件によってセルの色替」をマクロで実施するには?)

エクセルマクロでセルの色替を実施する方法は?

このQ&Aのポイント
  • エクセルファイルの任意セルのコメントによって、あるセルを色付けする方法を教えていただけますか?
  • 条件付き書式を設定したが、マクロを使用すれば効率的に処理できると聞きました。初心者のためマクロ知識が不足しています。効率的な方法を教えてください。
  • 同じ処理を行うエクセルファイルが多数あります。効率良く作業する方法を教えていただけませんか?

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.4

やりたいことがよくわかりませんし 禁止事項で丸投げ禁止と有りますので 参考になりそうな、コードを提示しておきます '------------------------------------------------------------------ Sub test() Dim i As Integer For i = 1 To 512 If Range("I" & i).Value <> "" Or Range("J" & i).Value <> "" Or Range("K" & i).Value <> "" Or Range("L" & i).Value <> "" Then If Range("A" & i).Value = "使用" And Range("E" & i).Value = "使用" Then Range("I" & i).Font.ColorIndex = 7 If Range("A" & i).Value = "使用" And Range("E" & i).Value = "未使用" Then Range("I" & i).Font.ColorIndex = 8 If Range("A" & i).Value = "未使用" And Range("E" & i).Value = "未使用" Then Range("I" & i).Font.ColorIndex = 6 End If Next i End Sub '------------------------------------------------------------------ アレンジはご自分で

hima_2008
質問者

お礼

ご回答をどうもありがとうございました。 質問内容が言葉足らずだったようで反省するとともに、この場をお借りしてお詫びいたします。 それでも貴重なアドバイス、とてもありがたく参考させて頂きます。 では、失礼致します。

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.3

マクロとのことなので お力になれませんが条件付き書式では こんな感じでしょうか? I列からL列までを選択する(I1セルがアクティブであること) 条件付き書式 条件1 数式が =AND(A1="未使用",E1="使用",COUNTA($I1:$L1)=4)     書式で黄色 条件2 数式が =AND(A1="使用",E1="未使用",COUNTA($I1:$L1)=4)     書式でシアン 条件3 数式が =AND(A1="使用",E1="使用",COUNTA($I1:$L1)=4)     書式でピンク をマクロの記録をして対処できませんか? # コメントってセルに挿入されるコメントのことじゃないですよね

hima_2008
質問者

補足

ご回答どうもありがとうございました。 また、自分の質問が不十分だったようなので訂正します。 「1. In~Hnが空欄なら、2,3,4の処理は行わない。」 と質問に記載しましたが表現が曖昧でした。 正しくは 「1. Inが空欄ならInは色付けしない。    Jnが空欄ならJnは色付けしない。    Knが空欄ならKnは色付けしない。    Lnが空欄ならLnは色付けしない。」 です。紛らわしい書き方をしてすみません。 (ちなみに色付けの優先順位は、高いほうから順に<やりたいこと>の1→4→2→3です。) というわけですので、条件付書式設定には、CoalTarさんが回答を下さった条件式から「COUNTA($I1:$L1)=4」を省いた式を設定しています。 マクロ初心者なので、条件1、2、3数式をマクロに記録できるかどうか判りませんが、いろいろなサイトで調べて見ます。 ># コメントってセルに挿入されるコメントのことじゃないですよね はい。『コメント』とは予め入力されている文字列のことです。(An~Hnには「使用」「未使用」のいずれかが必ず入力されており、In~Lnには空欄か任意の文字列が入力されています。)

すると、全ての回答が全文表示されます。
  • FEX2053
  • ベストアンサー率37% (7995/21384)
回答No.2

VBAは動態でデータを決定していくため、リアルタイムで内容が変わる 処理には余り向いていません。データを全部入力して、あとで一気に 変換する、と言うのなら比較的簡単なんですが・・・。 現状でも「条件付書式」はちゃんと出来ているようですので、「コピー」 「形式を選択して貼り付け」「書式」とすれば、「条件付書式」も きっぱりコピーしてくれます。 ちなみに「条件付書式」の参照先セルを、「=$A$1」などから「=A1」に 書き換えておくのを忘れないで下さい。これをサボると、書式コピー時 に参照先セルが自動的に変動しませんので。

hima_2008
質問者

補足

丁寧なご回答、ありがとうございます。 説明不足でした。使用するファイルは既に全データが入力されています。「使用」「未使用」のコメントは変りません。但し、行数はファイル毎に異なり、最大で512です。 やはり、条件付書式の方が簡単なようですね。 ただ、今後参照するセルが増えた場合(エクセル2000なので条件付書式では3つまでしか登録できません)どうすればよいのか考えておきたくて、投稿した次第です。

すると、全ての回答が全文表示されます。
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

http://officetanaka.net/excel/vba/cell/cell04.htm http://www.officepro.jp/excelvba/cell_comment/index2.html などが参考になるかもです。 違ったらごめんなさい。

hima_2008
質問者

お礼

早速のご回答、どうもありがとうございます。 添付していただいたサイトを見てみます。

すると、全ての回答が全文表示されます。

関連するQ&A