Skip to main content

How to highlight cell or row with checkbox in Excel?

Author: Siluvia Last Modified: 2020-06-17

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:

Best Office Productivity Tools

🤖 Kutools AI Aide: Revolutionize data analysis based on: Intelligent Execution   |  Generate Code  |  Create Custom Formulas  |  Analyze Data and Generate Charts  |  Invoke Kutools Functions
Popular Features: Find, Highlight or Identify Duplicates   |  Delete Blank Rows   |  Combine Columns or Cells without Losing Data   |   Round without Formula ...
Super Lookup: Multiple Criteria VLookup    Multiple Value VLookup  |   VLookup Across Multiple Sheets   |   Fuzzy Lookup ....
Advanced Drop-down List: Quickly Create Drop Down List   |  Dependent Drop Down List   |  Multi-select Drop Down List ....
Column Manager: Add a Specific Number of Columns  |  Move Columns  |  Toggle Visibility Status of Hidden Columns  |  Compare Ranges & Columns ...
Featured Features: Grid Focus   |  Design View   |   Big Formula Bar    Workbook & Sheet Manager   |  Resource Library (Auto Text)   |  Date Picker   |  Combine Worksheets   |  Encrypt/Decrypt Cells    Send Emails by List   |  Super Filter   |   Special Filter (filter bold/italic/strikethrough...) ...
Top 15 Toolsets12 Text Tools (Add Text, Remove Characters, ...)   |   50+ Chart Types (Gantt Chart, ...)   |   40+ Practical Formulas (Calculate age based on birthday, ...)   |   19 Insertion Tools (Insert QR Code, Insert Picture from Path, ...)   |   12 Conversion Tools (Numbers to Words, Currency Conversion, ...)   |   7 Merge & Split Tools (Advanced Combine Rows, Split Cells, ...)   |   ... and more

Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time.  Click Here to Get The Feature You Need The Most...


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!
Comments (3)
No ratings yet. Be the first to rate!
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.
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.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
Rate this post:
0   Characters
Suggested Locations