- 締切済み
エクセル2003のVBAで困っています。
エクセル2003のVBAで困っています。 D3~D50の中で○のセルが合った場合にその行のA列~C列までのセル背景を青く塗るようにしたいです。 ちなみに△の場合は黄色で×の場合は赤色でそれ以外の場合は塗色なしにしたいです。 上記の説明が分かにくいかもしれないので、もう少し具体例を言います。 D3~D50の中でD5が○だったらA5~C5の背景を青色 D10が△だったらA10~C10の背景を黄色 D15が×だったらA15~C15の背景を赤色 D20がそれ以外だったらA20~C20の背景を塗色なし を各行(D3~D50)になるようにしたいです。 以上ですが、急ぎですので誰かお願い致します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! VBAでなくても条件が3つみたいなので条件付書式で対応できると思います・・・ A3~C50を範囲指定し、条件付書式の条件1で「数式が」を選択し、数式欄に =$D3="○" として書式のパターンから「青」を 条件を追加して、条件2で数式欄に =$D3="△" として、「黄色」を 条件3の数式欄に =$D3="×" として「赤」を選択しても大丈夫だと思います。 どうしてもVBAで!というのであれば、一例ですが ↓のコードを貼り付けてみてはどうでしょうか? Sub test() Dim i As Long, j As Long For i = 3 To 50 For j = 1 To 3 Select Case Cells(i, 4) Case "○": Cells(i, j).Interior.ColorIndex = 5 Case "△": Cells(i, j).Interior.ColorIndex = 6 Case "×": Cells(i, j).Interior.ColorIndex = 3 Case Else: Cells(i, j).Interior.ColorIndex = 0 End Select Next j Next i End Sub 以上、参考になれば良いのですが 他に良い方法があれば読み流してくださいね。m(__)m