- 締切済み
【Excel2003/VBA】ある列の入力内容で他列の書式を変えるマクロは?
こんにちは。 1つお教えいただきたいことがあります。 Excel2003を使用(WinXP Pro Sp2)を使用しておりますので、 条件付け書式を3つ(擬似的には4つ)までしか設定できません。 そこで、VBAでマクロを組んで対応したいと思うのですが、 たとえば、次のようなことを考えたいと思っています。 1. A列に4つ以上の条件があったときに、 その入力内容によって他列の書式を変化させる 2. A列のある条件を満たし、かつ、A列以外のある条件を同時に満たしたとき(AND)に、 それによって、もう1つの列の書式を変化させる 3. A列のある条件か、あるいは、A列以外のどちらかの条件を満たしたとき(OR)に、 それによって、もう1つの列の書式を変化させる フォントを太字にしたり、セルを塗りつぶしたり(カラーインデックス番号は理解しております)したい場合、 どのような分岐で上記1~3の条件を満たすマクロを書けばよろしいのでしょうか? あえて省略なしの冗長な記述法(かつ、説明コメント付きの記述)になってもかまいませんので、 できましたら、サンプルマクロなどの形でお教えください。 仮に、A列にア、イ、ウ、エ、オ、カがあり、 その入力次第で、 C列の各セルで、青・太字かつセルの水色ぬりつぶし、という形で表示されるようにする、 と仮定します。 2.と3.については、 たとえば、A列がアでB列もあだったら、C列のフォントなどの書式を変更、 A列がアかB列があだったら、C列のフォントなどの書式を変更、 という2つの場合を想定しています。 うんちく本を頼りにとっかえひっかえサンプルマクロを試し、業務に使用している、 というレベルでしかありませんので、 そのへんをご理解いただいた上でお答えいただけますと幸いです。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- hallo-2007
- ベストアンサー率41% (888/2115)
>たとえば、A列がアでB列もあだったら、C列のフォントなどの書式を変更、 >A列がアかB列があだったら、C列のフォントなどの書式を変更、という2つの場合を想定しています。 A2があ、B2がアの場合は、どちらの設定でしょうか? >条件付け書式を3つ(擬似的には4つ)までしか設定できません。 書式の設定が3つまでですが、そんなに沢山のフォントの種類の表示が必要なのでしょうか? 例えば、C列選択して、条件付書式で =AND($A2="あ",$B2="ア") 適当な書式 追加で、第二の設定 =OR($A2="あ",$B2="ア") 適当な書式 取り合えず、ご希望の設定が可能では? その他、A1にあ B1にア とか書式設定したい項目を入れて =AND($A2=$A$1,$B2=$B$1) 適当な書式 追加で、第二設定 =OR($A2=$A$1,$B2=$B$1) 適当な書式 とかして、A1、B1の値を変えて、抽出した行に書式設定するなどはいかがでしょうか。 C列(A列、B列ではない)に書式設定するのは何か理由があるのですか?
お礼
ごめんなさい。 肝心なA列の条件による「分岐」が抜けてしまいました。 「補足」欄を使ってしまったので、「お礼」欄での再補足です。 D列のフォントの色、セルのぬりつぶしは、 B列・C列の内容にもよるのですが、 A列、つまり、部門別に、 さらにフォントの色やセルのぬりつぶしの色・パターンを変える、 ということを目的にしています。 見た目、かなりカラフルと言いますか、 かえって見づらくなるとは思うのですが、それは脇に置いておき、 要するに、A列・B列・C列という3つの条件によって D列の表示書式が決まってくる、 という感じになります。
補足
ご回答ありがとうございます。 チェックリストを作成しているのです。 質問内容が「漠然&簡潔化し過ぎ」だったかもしれませんので、 より実態に即して記してみることにします。 以下のとおりです。 A列には、たとえば、次のような条件があります。 この列では特に、オートフィルタによる部門別集計を意図しています。 1.部門1 2.部門2 3.部門3 4.部門4 5.部門5 B列には、面接者○○さんの評価 優・良・可・不可 を入れます。 C列には、面接者△△さんの評価 優・良・可・不可 を入れます。 このようなとき、 B列が優評価で、C列も優評価だったら、 自動的にD列(最終面接候補)に 優先 と表示され、 フォントが太字・赤、セルはぬりつぶされる、とします。 しかし、B列が優評価であっても、C列が良評価であれば、 D列には 次点 と表示され、 フォントは太字・赤となるも、セルは別の色でぬりつぶされる、 とします。 一方、B列が優評価以外であっても、C列が優評価であれば、 D列には 次点 と表示するものの、 前者との差別化のために、 フォントは太字・赤となるも、セルはまた別の色でぬりつぶす、 とします。 そして、次に、 B列もC列もどちらも可評価であった場合、 D列には 補欠 と表示し、 フォントは標準・赤とし、セルはさらに別の色でぬりつぶす、 とします。 最後に、 B列もC列もどちらも不可であった場合は、 D列には 不合格 と表示し、 フォントは太字&斜体、25%グレーとし、 セルを白黒パターンで網掛けにする、とします。 ということで、このような形を想定しているのです(^^;)。 かなり複雑ですが、 業務の都合上このようにせざるを得ないところがありますので、 何とかならないものか、と頭を抱えている次第です。