電子書籍の厳選無料作品が豊富!

条件付き書式で行全体の書式を変えたい。
こんにちは。VBA初心者です。
今、営業リストを作っていますが、条件付き書式で困っています。

A列はリストの通し番号です。B列に現時点の状況があり、C列以降は内容が記載されています。

B列の値を変えたら、行全体の文字色が変わるプログラムを作りたいと思っています。

B列はリストから選び、営業中(規定)、見積提出、受注、不調にしたときに色を変えたいです。
番号で管理しているため、どの行が変わるかはわからない状態です。

どなたか、お知恵を拝借したいと思います。
よろしくお願いいたします。

A 回答 (3件)

こんなのはいかがですか?


---------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Then Exit Sub
Select Case Target.Value
Case "営業中(規定)"
Rows(Target.Row).Font.ColorIndex = 3
Case "見積提出"
Rows(Target.Row).Font.ColorIndex = 4
Case "受注"
Rows(Target.Row).Font.ColorIndex = 5
Case "不調"
Rows(Target.Row).Font.ColorIndex = 6
Case Else
Rows(Target.Row).Font.ColorIndex = xlAutomatic
End Select
End Sub
---------------------------------------------------------------
※ 対象のシートモジュールに入力して下さい。
※「ColorIndex」の値はマクロの記録などで調べて変更してください。
とりあえず現状では以下にしてあります。
・営業中(規定)「3」赤
・見積提出「4」緑
・受注「5」青
・不調「6」黄
・その他「xlAutomatic」自動
    • good
    • 0
この回答へのお礼

ありがとうございました。
さくさくがんばってくれています。
今回は、VBAでという上司の指示があったので助かりました❗

VBA以外の方法もご教示いただきましたが、希望していた内容をいただけたので、こちらをベストアンサーとさせていただきました。

お礼日時:2017/01/20 10:49

こんにちは



>条件付き書式で行全体の書式を変えたい。
>こんにちは。VBA初心者です。
ご質問文からだと、条件付き書式で実現なさりたいのか、VBAでなさりたいのか判然としませんね。
どちらの方法でも可能だと思います。

◇条件付き書式で行う場合
・設定対象とする行全体をを選択
・条件付き書式の設定で「新しいルール」から「数式を使用して~」を選択
・例えばB列の値が"受注"ならばの場合、数式に「=$B1="受注"」を入力して、書式を設定
以上を繰り返すことで設定できます。

◇VBAで処理する場合
(情報不足なので具体的なコードにはならないので、要領のみです)
・Worksheet.Change イベントを利用して変更をチェック
・対象がB列の範囲でなければ終了
 (Intersectを利用してチェック可能)
・B列内の対象セルに対してfor eachで以下の処理をループする
 各セルの値に応じて、その行の書式を設定する
    • good
    • 0
この回答へのお礼

ありがとうございました。
いろいろな方法があることがわかりました。
その時の状況で判断、最適な方法でできるようにしたいと思います。

お礼日時:2017/01/20 10:41

1行目が見出し行、2行目から明細行の場合と仮定します。


以下の条件付き書式を設定してください。

①A2セルでホームタブにある「条件付書式」の「新しいルール」をクリックします。
②「ルールの種類を選択してください」の中の「数式を使用して、書式設定するセルを設定」を選びます。
③「次の数式を満たす場合に値を書式設定」の蘭を「=$B2="営業中(規定)"」とします。
④「書式」ボタンより塗りつぶしの色を希望の色に設定します。
⑤「OK」ボタンにより設定
⑥ホームタブにある「条件付書式」の「ルールの管理」をクリックします。
⑦先程追加されたルールの「適用先」が「=$A$2」となっているので「=$A$2:$C$2」に変更します。
これで、$B2="営業中(規定)"の場合にA2:C3の色を設定した色にする条件付書式が設定されます。
同様に①~⑦を繰り返し「=$B2="見積提出"」「=$B2="受注"」「=$B2="不調"」の場合のルールを追加設定します。

後は、2行目をコピーして3行目以降を作成すれば書式設定も継承します。
    • good
    • 0
この回答へのお礼

マクロではなくてもできるんですね。
もっと勉強して使いこなせるようにがんばります。

ありがとうございました。

お礼日時:2017/01/20 10:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!