• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【EXCEL2003】8つの条件がある書式設定のVBAの書き方)

【EXCEL2003】8つの条件がある書式設定のVBAの書き方

このQ&Aのポイント
  • VBAの書き方について御教授ください!複数のシートに、入力値が決まっているA列とC列があります。その入力値の組み合わせによって、入力時にA:Cのセル書式を8通りに変えたいです。
  • マクロの自動記録しか経験がなく調べたのですがよくわかりませんでした。よろしくお願いいたします。
  • 具体的な条件は以下の通りです。 1.A列「あ」・C列なし→セル背景:黄 2.A列「あ」・C列「ア」→セル背景:黄 フォント:青 3.A列「あ」・C列「イ」→セル背景:黄 フォント:赤 4.A列「い」・C列なし→セル背景:緑 5.A列「い」・C列「ア」→セル背景:緑 フォント:青 6.A列「い」・C列「イ」→セル背景:緑 フォント:赤 7.A列なし・C列「ア」→フォント:青 セル背景:なし 8.A列なし・C列「イ」→フォント:赤 セル背景:なし

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

  • ベストアンサー
  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.1

参考にしてください。 入力シートをマウス右Click → 「コードの表示」→ 表示される画面に貼り付け Private Sub Worksheet_Change(ByVal Target As Range)   Dim tR     As Long   Dim wRng    As String   '   If Target.Column = 1 Or Target.Column = 3 Then     tR = Target.Row     wRng = "A" & tR & ":C" & tR     Range(wRng).Interior.ColorIndex = xlNone     Range(wRng).Font.ColorIndex = xlAutomatic     '1     If Cells(tR, 1) = "あ" And _       Cells(tR, 3) = "" Then       Range(wRng).Interior.ColorIndex = 6   '背景:黄       Range(wRng).Font.ColorIndex = xlAutomatic     End If     '2     If Cells(tR, 1) = "あ" And _       Cells(tR, 3) = "ア" Then       Range(wRng).Interior.ColorIndex = 6   '背景:黄       Range(wRng).Font.ColorIndex = 5     'フォント:青     End If     '3     If Cells(tR, 1) = "あ" And _       Cells(tR, 3) = "イ" Then       Range(wRng).Interior.ColorIndex = 6   '背景:黄       Range(wRng).Font.ColorIndex = 3     'フォント:赤     End If     '4     If Cells(tR, 1) = "い" And _       Cells(tR, 3) = "" Then       Range(wRng).Interior.ColorIndex = 10  '背景:緑       Range(wRng).Font.ColorIndex = xlAutomatic     End If     '5     If Cells(tR, 1) = "い" And _       Cells(tR, 3) = "ア" Then       Range(wRng).Interior.ColorIndex = 10  '背景:緑       Range(wRng).Font.ColorIndex = 5     'フォント:青     End If     '6     If Cells(tR, 1) = "い" And _       Cells(tR, 3) = "イ" Then       Range(wRng).Interior.ColorIndex = 10  '背景:緑       Range(wRng).Font.ColorIndex = 3     'フォント:赤     End If     '7     If Cells(tR, 1) = "" And _       Cells(tR, 3) = "ア" Then       Range(wRng).Interior.ColorIndex = xlNone       Range(wRng).Font.ColorIndex = 5     'フォント:青     End If     '8     If Cells(tR, 1) = "" And _       Cells(tR, 3) = "イ" Then       Range(wRng).Interior.ColorIndex = xlNone       Range(wRng).Font.ColorIndex = 3     'フォント:赤     End If   End If End Sub

A820357
質問者

お礼

pkh4989様 早速の回答、どうもありがとうございました! 実行してみましたところ見事に書式変更できました。 どんなコードを入力すれば良いのか、今後の勉強に生かしていきたいと思います。

関連するQ&A