
条件付き書式で行全体の書式を変えたい。
こんにちは。VBA初心者です。
今、営業リストを作っていますが、条件付き書式で困っています。
A列はリストの通し番号です。B列に現時点の状況があり、C列以降は内容が記載されています。
B列の値を変えたら、行全体の文字色が変わるプログラムを作りたいと思っています。
B列はリストから選び、営業中(規定)、見積提出、受注、不調にしたときに色を変えたいです。
番号で管理しているため、どの行が変わるかはわからない状態です。
どなたか、お知恵を拝借したいと思います。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
こんなのはいかがですか?
---------------------------------------------------------------
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」自動
ありがとうございました。
さくさくがんばってくれています。
今回は、VBAでという上司の指示があったので助かりました❗
VBA以外の方法もご教示いただきましたが、希望していた内容をいただけたので、こちらをベストアンサーとさせていただきました。
No.3
- 回答日時:
こんにちは
>条件付き書式で行全体の書式を変えたい。
>こんにちは。VBA初心者です。
ご質問文からだと、条件付き書式で実現なさりたいのか、VBAでなさりたいのか判然としませんね。
どちらの方法でも可能だと思います。
◇条件付き書式で行う場合
・設定対象とする行全体をを選択
・条件付き書式の設定で「新しいルール」から「数式を使用して~」を選択
・例えばB列の値が"受注"ならばの場合、数式に「=$B1="受注"」を入力して、書式を設定
以上を繰り返すことで設定できます。
◇VBAで処理する場合
(情報不足なので具体的なコードにはならないので、要領のみです)
・Worksheet.Change イベントを利用して変更をチェック
・対象がB列の範囲でなければ終了
(Intersectを利用してチェック可能)
・B列内の対象セルに対してfor eachで以下の処理をループする
各セルの値に応じて、その行の書式を設定する
ありがとうございました。
いろいろな方法があることがわかりました。
その時の状況で判断、最適な方法でできるようにしたいと思います。
No.2
- 回答日時:
1行目が見出し行、2行目から明細行の場合と仮定します。
以下の条件付き書式を設定してください。
①A2セルでホームタブにある「条件付書式」の「新しいルール」をクリックします。
②「ルールの種類を選択してください」の中の「数式を使用して、書式設定するセルを設定」を選びます。
③「次の数式を満たす場合に値を書式設定」の蘭を「=$B2="営業中(規定)"」とします。
④「書式」ボタンより塗りつぶしの色を希望の色に設定します。
⑤「OK」ボタンにより設定
⑥ホームタブにある「条件付書式」の「ルールの管理」をクリックします。
⑦先程追加されたルールの「適用先」が「=$A$2」となっているので「=$A$2:$C$2」に変更します。
これで、$B2="営業中(規定)"の場合にA2:C3の色を設定した色にする条件付書式が設定されます。
同様に①~⑦を繰り返し「=$B2="見積提出"」「=$B2="受注"」「=$B2="不調"」の場合のルールを追加設定します。
後は、2行目をコピーして3行目以降を作成すれば書式設定も継承します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- 財務・会計・経理 業者間での注文書・請書の取り扱いについて 2 2022/06/27 15:53
- Visual Basic(VBA) Excel VBA 書式変更で困ってます。 オートフィルターの日付フィルターを用いて データの絞り込 2 2022/07/26 22:16
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- Excel(エクセル) Excelの数式についての質問 1 2022/10/31 15:50
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】並び替えの範囲が、...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
エクセルの改行について
-
[VB.net] ボタン(Flat)のEnable...
-
質問58753 このコードでうまく...
-
【ExcelVBA】5万行以上のデー...
-
vbs ブック共有を解除
-
VBAでCOPYを繰り返すと、処理が...
-
vbaにてseleniumを使用したedge...
-
【マクロ】開いているブックの...
-
(EXCEL超初心者)EXCELの関数(ま...
-
算術演算子「¥」の意味について
-
Excel 範囲指定スクショについ...
-
2つのマクロでチェックボックス...
-
vbsでのwebフォームへの入力制限?
-
【マクロ】変数を使った、文字...
-
以下のプログラムの実行結果は...
-
VBA レジストリの値の読み方に...
-
Vba セルの4辺について罫線が有...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
testファイル内にある複数のpng...
-
改行文字「vbCrLf」とは
-
エクセルVBA 検索結果を隣のシ...
-
vb.net(vs2022)のtextboxのデザ...
-
エクセルのVBAコードと数式につ...
-
【マクロ】切取りの場合、形式...
-
【ExcelVBA】5万行以上のデー...
-
ExcelVBAでパワポを操作したい
-
(EXCEL超初心者)EXCELの関数(ま...
-
エクセルの改行について
-
Excelマクロで使うVBAコードを...
-
ワードの図形にマクロを登録で...
-
【マクロ】変数を使った、文字...
-
VBAでFOR NEXT分を Application...
-
VBAの質問(Msgboxについて)です
-
エクセルのVBAコードについて教...
-
Excelマクロで使うVBAコードを...
-
Excelのマクロについて教えてく...
-
VBAの「To」という語句について
-
【マクロ】値を渡されたプロシ...
おすすめ情報