• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのVBAについて教えてください。)

エクセルのVBAについて教えてください。

このQ&Aのポイント
  • エクセルのVBAについて教えてください。下記のような構文で、Dの行にAやBの文字が入力された時、その都度セルの色が変わるようにはできたのですが、本当は、「C5」セルに文字が入力された時、「C5」だけでなく「B5:J5」の範囲でセルの色を変えたいのですが、どうすれば良いのでしょうか。ご存知の方是非教えてください。
  • エクセルのVBAを使用して、特定の条件に基づいてセルの色を変える方法について教えてください。例えば、Dの行にAやBの文字が入力された場合、その都度セルの色を変えることはできるのですが、特定のセルだけでなく、範囲内の複数のセルの色を変える方法はありますか?
  • エクセルのVBAを使って特定の条件に基づいて範囲内のセルの色を変える方法を教えてください。現在、Dの行にAやBの文字が入力された場合にセルの色が変わるようになっていますが、実際には特定のセルだけでなく、範囲内の複数のセルの色を変えたいです。どうすれば実現できるでしょうか?ご教授お願いします。

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

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

Addressプロパティで、セルアドレスC5をチェックしましょう。 '----------------------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range)  Dim myColor  If Target.Count > 1 Then Exit Sub  If Target.Address <> "$C$5" Then Exit Sub  Select Case Target.Value    Case "A"      myColor = 34 '水色    Case "B"      myColor = 40 '肌色    Case Else      myColor = xlNone  End Select  Range("B" & Target.Row).Resize(1, 9).Interior.ColorIndex = myColor End Sub '-------------------------------------------------------- 以上です。  

noname#127049
質問者

お礼

ありがとうございました。大変助かりました。 お礼が遅くなり申し訳ありませんでした。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.2

セルの範囲をチェックし、カラー設定範囲を設定すれば分り易いし、範囲を追加した場合楽だと思います。 Private Sub Worksheet_Change(ByVal Target As Range)  Dim 色設定範囲 As Range  If Target.Count > 1 Then Exit Sub  Select Case False   Case Intersect(Target, Range("D:D")) Is Nothing    Set 色設定範囲 = Target   Case Intersect(Target, Range("C5")) Is Nothing    Set 色設定範囲 = Range("B5:J5")   Case Else    Exit Sub   End Select  With 色設定範囲.Interior   Select Case Target.Value    Case "A": .ColorIndex = 34 '水色    Case "B": .ColorIndex = 40 '肌色    Case Else: .ColorIndex = xlNone   End Select  End With End Sub

noname#127049
質問者

お礼

ありがとうございました。大変助かりました。お礼が遅くなり申し訳ありませんでした。

すると、全ての回答が全文表示されます。

関連するQ&A