Note: The other languages of the website are Google-translated. Back to English
English English

How to highlight cell or row with checkbox in Excel?

As below screenshot shown, you need to highlight row or cell with checkbox. When a checkbox is checked, a specified row or a cell will be highlighted automatically. But how to achieve it in Excel? This article will show you two methods to achieve it.

Highlight cell or row with checkbox with Conditional Formatting
Highlight cell or row with checkbox with VBA code

Highlight cell or row with checkbox with Conditional Formatting

You can create a Conditional Formatting rule to highlight cell or row with checkbox in Excel. Please do as follows.

Link all check box to a specified cell

1. You need to insert checkboxes into cells one by one manually by clicking Developer > Insert > Check Box (Form Control).

2. Now check boxes have been inserted to cells in column I. Please select the first check box in I1, enter formula =$J1 into the formula bar, and then press the Enter key.

Tip: If you don't want to have values associated in adjacent cells to checkboxes, you can link the checkbox to another worksheet's cell such as =Sheet3!$E1.

2. Repeat step 1 until all check boxes are linked to the adjacent cells or cells in another worksheet.
Note: All linked cells should be consecutive and locating in the same column.

Create a Conditional Formatting rule

Now you need to create a Conditional Formatting rule as follows step by step.

1. Select the rows you need to highlight with checkboxes, then click Conditional Formatting > New Rule under the Home tab. See screenshot:

2. In the New Formatting Rule dialog box, you need to:

2.1 Select the Use a formula to determine which cells to format option in the Select a Rule Type box;

2.2 Enter formula =IF($J1=TRUE,TRUE,FALSE) into the Format values where this formula is true box;
      Or =IF(Sheet3!$E1=TRUE,TRUE,FALSE) if the check boxes linked to another worksheet.

2.3 Click the Format button to specify a highlighted color for the rows;

2.4 Click the OK button. See screenshot:

Note: In the formula, $J1 or $E1 is the first linked cell for the check boxes, and make sure the cell reference has been changed to column absolute (J1 > $J1 or E1 > $E1).

Now the Conditional Formatting rule is created. When checking the check boxes, the corresponding rows will be highlighted automatically as bellows screenshot shown.

Highlight cell or row with checkbox with VBA code

The following VBA code can also help you to highlight cell or row with checkbox in Excel. Please do as follows.

1. In the worksheet you need to highlight cell or row with checkbox. Right click the Sheet Tab and select View Code from the right-clicking menu to open the Microsoft Visual Basic for Applications window.

2. Then copy and paste the below VBA code into the Code window.

VBA code: Highlight row with checkbox in Excel

Sub AddCheckBox()
Dim xCell As Range
Dim xRng As Range
Dim I As Integer
Dim xChk As CheckBox
On Error Resume Next
    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
    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                  
    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"      
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    
    Range("A" & xName, Range(xChk.LinkedCell).Offset(0, -2)).Interior.ColorIndex = xlNone  
   End If  
  End If
End Sub

3. Press the F5 key to run the code. (Note: you should put the cursor into the first part of the code to apply the F5 key) In the popping up Kutools for Excel dialog box, please select the range you want to insert check boxes, and then click the OK button. Here I select range I1:I6. See screenshot:

4. Then check boxes are inserted into selected cells. Check any one of the checkboxes, the corresponding row will be highlighted automatically as below screenshot shown.

Related articles:

The Best Office Productivity Tools

Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%

  • Reuse: Quickly insert complex formulas, charts and anything that you have used before; Encrypt Cells with password; Create Mailing List and send emails...
  • Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range...
  • Merge Cells/Rows/Columns without losing Data; Split Cells Content; Combine Duplicate Rows/Columns... Prevent Duplicate Cells; Compare Ranges...
  • Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select...
  • Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more...
  • Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments...
  • Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic...
  • Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF...
  • More than 300 powerful features. Supports Office/Excel 2007-2019 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features 30-day free trial. 60-day money back guarantee.
kte tab 201905

Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

  • Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
  • Open and create multiple documents in new tabs of the same window, rather than in new windows.
  • Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
officetab bottom
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I have a question about the initial step of linking the checkbox to a true/false.

1. Select the first check box in I1, enter formula =$J$1 into the formula bar, and then press the Enter key.

2. Repeat step 1 until all check boxes are linked to the adjacent cells.

For the repeat, does it have to be done for each cell or can you get the drag down to autofill? Right now, when I drag down the corner box it will autofill with =$J$1 for everything so that if I check one box, every box is checked. How can I fix this without manually linking each checkbox?
This comment was minimized by the moderator on the site
The Fill Handle can't help in this case. You need to manually link each checkbox to its adjacent cell.
This comment was minimized by the moderator on the site
This is a horrendous article. It lacks a lot of information and steps. If you follow this article verbatim it will not end in the result you are seeking.

Essentially the article is saying to have 2 columns where the checkboxes are linked to adjacent columns to enter in values which are then used for conditional formats. No one wants to have values associated in adjacent cells to checkboxes. Lastly, if this is the route you're going you're not linking checkboxes to conditional formats, you are linking checkboxes to cell values which are then in turn associated to conditional formats.

It is easier to just use icons instead of checkboxes (use the green checkmark icon) and create the conditional formats for a value of 1 or 0. If cell = 1 then it will replace the value with the icon and highlight your row. To accomplish this you use 2 conditional formats on your table.

Top left of table is B4, bottom right of table is L28

1st conditional format:
Formula: =$B4=1
Format: fill
Applies to: =$B4:$L28

2nd conditional format:
Icon Set Custom
SHOW ICON ONLY (check this box off)
First icon (green checkmark) when value is > = 1 (type: number)
Second icon (no icon) when value is > = -1 (type: number)
Third icon (no icon) when < -1

Now, when I enter a 1 in B4 or any of the B column cells, it will highlight the entire row for me and replace the "1" with a checkmark.

1) Open Excel, search for a new template. Enter "Inventory" as the search term
2) Select the template titled "Inventory list with highlighting"
3) Highlight the first row of the table, open conditional formats to manage/edit. You will see the 2nd and 3rd formats are for highlights and the icon in the B column. You can change the icon to whatever you want. Remove the first format if you don't want the strikeout options from the Discontinued column.
There are no comments posted here yet
Leave your comments
Posting as Guest
Rate this post:
0   Characters
Suggested Locations