【VBA】選択時にセルを自動ハイライトするコードスニペット:カラーパレット一覧付き

VBA

Excelで選択したセルを自動的にハイライトし、操作時の視認性を向上させる方法を紹介します。カラーパレットの一覧を参考に、背景色やフォント色を自由にカスタマイズできます。


セル選択時に行と列をハイライトする方法

以下のコードを使用すると、セルを選択した瞬間にそのセルを含む行と列が自動でハイライトされます。

コード

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim ws As Worksheet
    Dim selectedRow As Range
    Dim selectedColumn As Range
    
    ' シートを指定
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' ハイライトをリセット
    ws.Cells.Interior.ColorIndex = xlNone
    
    ' 選択されたセルの行と列をハイライト
    Set selectedRow = Target.EntireRow
    Set selectedColumn = Target.EntireColumn
    
    ' 行と列の背景色を設定
    selectedRow.Interior.Color = RGB(220, 220, 220) ' 薄いグレー
    selectedColumn.Interior.Color = RGB(220, 220, 220) ' 薄いグレー
    
    ' 選択されたセルを別の色で強調
    Target.Interior.Color = RGB(255, 255, 0) ' 黄色
End Sub

コードの使い方

  1. コードを入力する場所
    VBAエディタで対象のシートを選択し、そのシートに直接コードを貼り付けます。
    • Alt + F11を押してVBAエディタを開く
    • 左ペインで対象のシート(例: Sheet1)をダブルクリック
    • コードを貼り付ける
  2. 実行方法
    シート上で任意のセルをクリックすると、自動的にそのセルの行と列がハイライトされます。

カラーパレットの一覧

以下は、Excel VBAで使用できる主なRGB値のカラーパレットです。これを活用して背景色やフォント色を設定できます。

色名RGB値色の例
黒色RGB(0, 0, 0)黒色
白色RGB(255, 255, 255)白色
赤色RGB(255, 0, 0)赤色
緑色RGB(0, 255, 0)緑色
青色RGB(0, 0, 255)青色
黄色RGB(255, 255, 0)黄色
薄いグレーRGB(220, 220, 220)薄いグレー
薄い青RGB(173, 216, 230)薄い青
ピンクRGB(255, 182, 193)ピンク
オレンジRGB(255, 165, 0)オレンジ
薄い緑RGB(144, 238, 144)薄い緑

応用例: フォントの色を変更してさらに目立たせる

背景色だけでなく、フォントの色を変更してさらに視認性を高める方法です。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim ws As Worksheet
    Dim selectedRow As Range
    Dim selectedColumn As Range
    
    ' シートを指定
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    ' ハイライトをリセット
    ws.Cells.Interior.ColorIndex = xlNone
    ws.Cells.Font.ColorIndex = xlAutomatic
    
    ' 選択されたセルの行と列をハイライト
    Set selectedRow = Target.EntireRow
    Set selectedColumn = Target.EntireColumn
    
    ' 行と列の背景色を設定
    selectedRow.Interior.Color = RGB(220, 220, 220) ' 薄いグレー
    selectedColumn.Interior.Color = RGB(220, 220, 220) ' 薄いグレー
    
    ' 選択されたセルをさらに強調
    Target.Interior.Color = RGB(255, 255, 0) ' 黄色
    Target.Font.Color = RGB(255, 0, 0) ' 赤色
End Sub

注意点

  • 処理速度
    範囲が広い場合、リセット処理で遅延が発生する可能性があります。必要な範囲だけに限定してください。
  • 既存の色に注意
    このコードは既存のセル色を上書きします。元の色を保持したい場合は、保存と復元のロジックを追加する必要があります。

カラーパレットを活用し、好みに合わせて色をカスタマイズしてください。この記事で紹介したVBAコードを使うことで、選択セルの視認性を向上させ、作業の効率を高めることができます!

コメント

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