メインコンテンツへスキップ

チェックボックスを使用してExcelでセルや行をハイライトするにはどうすればよいですか?

Author: Siluvia Last Modified: 2025-08-06

以下のスクリーンショットに示すように、チェックボックスを使用して行またはセルをハイライトする必要があります。チェックボックスがオンにされると、指定された行またはセルが自動的にハイライトされます。しかし、Excelでこれを実現するにはどうすればよいでしょうか?この記事では、それを達成するための2つの方法を紹介します。

A screenshot showing highlighted rows and cells triggered by checkboxes in Excel

条件付き書式を使用してチェックボックスでセルや行をハイライトする
VBAコードを使用してチェックボックスでセルや行をハイライトする


条件付き書式を使用してチェックボックスでセルや行をハイライトする

Excelでチェックボックスを使ってセルや行をハイライトするための条件付き書式ルールを作成できます。以下のように操作してください。

ステップ1:すべてのチェックボックスを指定されたセルにリンクする

1. [開発] > [挿入] > [チェックボックス (フォーム コントロール)] をクリックして、手動でセルにチェックボックスを1つずつ挿入する必要があります。

2. これで、列Iのセルにチェックボックスが挿入されました。最初のチェックボックス(I1)を選択し、数式バーに「=$J1」と入力してからEnterキーを押します。

ヒント: チェックボックスに関連する値を隣接するセルに持たせたくない場合、別のワークシートのセルにリンクできます。例: =Sheet3!$E1

A screenshot of linking checkboxes to cells for Conditional Formatting in Excel

3. すべてのチェックボックスが隣接するセルまたは別のワークシートのセルにリンクされるまで、ステップ1を繰り返します。
注釈:すべてのリンクされたセルは連続しており、同じ列に配置されている必要があります。

A screenshot showing consecutive linked cells for checkboxes in Excel

ステップ2:条件付き書式ルールを作成する

次に、以下のように段階を追って条件付き書式ルールを作成する必要があります。

1. チェックボックスでハイライトしたい行を選択し、[ホーム] タブの下にある [条件付き書式] > [新しいルール] をクリックします。スクリーンショットをご覧ください:

A screenshot of Conditional Formatting options under the Home tab in Excel

2. [新しい書式ルール] ダイアログ ボックスで、次の操作が必要です:

2.1 [ルールの種類を選択] ボックスで [数式を使用して書式設定するセルを決定する] オプションを選択します;

2.2 数式を入力します =IF($J1=TRUE,TRUE,FALSE) この数式が真である場合に書式設定する値 ボックスに;
      または =IF(Sheet3!$E1=TRUE,TRUE,FALSE) チェックボックスが別のワークシートにリンクされている場合。

2.3 [書式] ボタンをクリックして、行のハイライト色を指定します;

2.4 [OK] ボタンをクリックします。スクリーンショットをご覧ください:

A screenshot of the New Formatting Rule dialog box for highlighting with checkboxes in Excel

: 数式内の $J1 または $E1 はチェックボックスの最初のリンクされたセルであり、セル参照が列の絶対参照に変更されていることを確認してください(J1 > $J1 または E1 > $E1)。

これで、条件付き書式ルールが作成されました。チェックボックスをオンにすると、対応する行が以下のスクリーンショットに示すように自動的にハイライトされます。

A screenshot showing rows highlighted based on checkbox selections in Excel


VBAコードを使用してチェックボックスでセルや行をハイライトする

以下のVBAコードを使用しても、Excelでチェックボックスを使ってセルや行をハイライトすることができます。以下のように操作してください。

1. チェックボックスでセルや行をハイライトする必要があるワークシートで、[シートタブ] を右クリックし、右クリックメニューから [コードの表示] を選択して Microsoft Visual Basic for Applications ウィンドウを開きます。

2. 次に、以下のVBAコードをコードウィンドウにコピーして貼り付けます。

VBAコード:Excelでチェックボックスを使用して行をハイライトする

Sub AddCheckBox()
Dim xCell As Range
Dim xRng As Range
Dim I As Integer
Dim xChk As CheckBox
On Error Resume Next
InputC:
    Set xRng = Application.InputBox("Please select the column range to insert checkboxes:", "Kutools for Excel", Selection.Address, , , , , 8)
If xRng Is Nothing Then Exit Sub
If xRng.Columns.Count > 1 Then
    MsgBox "The selected range should be a single column", vbInformation, "Kutools fro Excel"
    GoTo InputC
Else
    If xRng.Columns.Count = 1 Then
        For Each xCell In xRng        
            With ActiveSheet.CheckBoxes.Add(xCell.Left, _
               xCell.Top, xCell.Width = 15, xCell.Height = 12)
               .LinkedCell = xCell.Offset(, 1).Address(External:=False)
               .Interior.ColorIndex = xlNone
               .Caption = ""
               .Name = "Check Box " & xCell.Row
            End With    
            xRng.Rows(xCell.Row).Interior.ColorIndex = xlNone                  
        Next        
    End If    
    With xRng    
     .Rows.RowHeight = 16    
    End With   
    xRng.ColumnWidth = 5#    
    xRng.Cells(1, 1).Offset(0, 1).Select    
    For Each xChk In ActiveSheet.CheckBoxes   
      xChk.OnAction = ActiveSheet.Name + ".InsertBgColor"      
    Next
End If
End Sub

Sub InsertBgColor()
Dim xName As Integer
Dim xChk As CheckBox
For Each xChk In ActiveSheet.CheckBoxes 
  xName = Right(xChk.Name, Len(xChk.Name) - 10) 
  If (xName = Range(xChk.LinkedCell).Row) Then   
   If (Range(xChk.LinkedCell) = "True") Then   
    Range("A" & xName, Range(xChk.LinkedCell).Offset(0, -2)).Interior.ColorIndex = 6    
   Else    
    Range("A" & xName, Range(xChk.LinkedCell).Offset(0, -2)).Interior.ColorIndex = xlNone  
   End If  
  End If
Next
End Sub

A screenshot of the VBA code editor in Excel to add checkboxes for row highlighting

3. F5キーを押してコードを実行します。(注意:F5キーを適用するには、カーソルをコードの最初の部分に置く必要があります)ポップアップする Kutools for Excel ダイアログボックスで、チェックボックスを挿入したい範囲を選択し、[OK] ボタンをクリックします。ここでは範囲 I1:I6 を選択しました。スクリーンショットをご覧ください:

A screenshot of selecting the range for checkbox insertion in Excel using Kutools

4. これで、選択したセルにチェックボックスが挿入されました。いずれかのチェックボックスをオンにすると、対応する行が以下のスクリーンショットに示すように自動的にハイライトされます。

A screenshot showing highlighted rows when a checkbox is checked in Excel


関連記事:

最高のオフィス生産性ツール

🤖 Kutools AI Aide:データ分析を革新:インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データを分析してグラフを生成  |  Kutools Functions を呼び出す
人気機能重複の検索・ハイライト・マーキング   |  空白行を削除   |  データを失わず列やセルを統合   |   丸める ...
スーパーLOOKUP複数条件VLOOKUP   複数値VLOOKUP  |  複数シートの検索  |  ファジーマッチ ....
高度なドロップダウンリストすばやくドロップダウンリストを作成   |  依存型ドロップダウンリスト   |  複数選択ドロップダウンリスト ....
列の管理:特定数の列を追加  | 列を移動  | 非表示列の表示状態を切り替え |  範囲と列の比較 ...
注目機能グリッドフォーカス   |  デザインビュー  |  強化された数式バー   ワークブック&ワークシートの管理   |  オートテキスト ライブラリ (Auto Text)   |  日付ピッカー   |  データの統合   |  セルの暗号化/復号化    リスト送信で電子メールを送信   |  スーパーフィルター   |   特殊フィルタ(太字/斜体/取り消し線でフィルタ...)
トップ15ツールセット12 種類のテキストツールテキストの追加特定の文字を削除など)  |  50 種以上のグラフ タイプガントチャートなど)  |  40を超える実用的な 数式誕生日に基づいて年齢を計算する、など)  |  19種の 挿入ツールQRコードの挿入パスから画像の挿入など)  |  12種類の 変換ツール単語に変換する通貨変換など)  |  7つの 結合&分割ツール高度な行のマージセルの分割など)  |  ...さらに多数
お好きな言語でKutoolsを使用できます ― 英語、スペイン語、ドイツ語、フランス語、中国語など40以上に対応!

Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...


Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます

  • Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
  • 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
  • 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!