Excelのセルクリックで色を変える方法:複数行に対応させるVBAコードの改良

Excel

Excelでセルをクリックした際に色を変える設定を行いたい場合、VBA(Visual Basic for Applications)を使用する方法があります。この記事では、1行目のセルをクリックすると色が変わるVBAコードを、2行目以降にも対応させるための改良方法を解説します。

現在のVBAコードの解説

以下のコードは、1列目のセルがクリックされると、そのセルの背景色を変更する仕組みです。

Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column <> 1 Then Exit Sub '※1 Select Case Target.Interior.ColorIndex Case Is = xlNone Target.Interior.ColorIndex = 3 '※2 Case Else Target.Interior.ColorIndex = xlNone End Select End Sub

このコードでは、1列目のセルをクリックすると、そのセルの背景色が変わり、再度クリックすると色が元に戻ります。

2行目、3行目も色を変更する方法

現在のコードでは、1列目しか対象となっていませんが、2行目、3行目も対象にするには、対象のセル範囲を拡大すれば良いです。具体的には、条件を「列番号のみ」ではなく「セルの行番号も対象」に変更します。

次のようにコードを改良することで、すべての行で色を変えることができます。

Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Row < 1 Then Exit Sub '※1 Select Case Target.Interior.ColorIndex Case Is = xlNone Target.Interior.ColorIndex = 3 '※2 Case Else Target.Interior.ColorIndex = xlNone End Select End Sub

このコードでは、どの行でもクリックしたセルに色が適用されるようになります。

特定の列だけに色を変更する方法

もし特定の列(例えば1列目から5列目まで)でのみ色を変えたい場合は、コードを次のように変更します。

Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column < 1 Or Target.Column > 5 Then Exit Sub '※1 Select Case Target.Interior.ColorIndex Case Is = xlNone Target.Interior.ColorIndex = 3 '※2 Case Else Target.Interior.ColorIndex = xlNone End Select End Sub

これで、指定した範囲(この場合は1列目から5列目)にのみ色が適用されます。

まとめ

Excelでセルをクリックした際に色を変更する方法について解説しました。VBAを使うことで、特定の行や列に色を付けることが可能です。元々のコードを少し改良することで、2行目以降や特定の範囲にも対応できるようになります。作業の効率化や視認性向上のために、是非活用してみてください。

コメント

タイトルとURLをコピーしました