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
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
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"
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
xRng.Rows(xCell.Row).Interior.ColorIndex = xlNone
.Rows.RowHeight = 16
xRng.ColumnWidth = 5#
xRng.Cells(1, 1).Offset(0, 1).Select
For Each xChk In ActiveSheet.CheckBoxes
xChk.OnAction = ActiveSheet.Name + ".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
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.
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.
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:
USE A FORMULA TO DETERMINE WHICH CELLS TO FORMAT
Applies to: =$B4:$L28
2nd conditional format:
FORMAT CELLS BASED ON THEIR VALUES
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.
BUILT-IN TEMPLATE WITH THIS FORMATTING:
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.
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?