KutoolsforOffice — One Suite. Five Tools. Get More Done.February Sale: 20% Off

How to move a certain row into a new sheet when a checkbox is checked in Excel?

AuthorSiluviaLast modified

In daily Excel usage, there are often scenarios where users need to move a row to another sheet or worksheet depending on whether a checkbox is checked, such as task status lists, order processing forms, and data review checklists. By automating this process, you can enhance workflow efficiency and maintain a clear overview of your data. This article outlines multiple practical solutions for moving a specific row to a new sheet when a checkbox is checked, catering to different operational preferences and data management needs.


Move row when a checkbox is checked with VBA code

If you want to move a certain row to a specified worksheet automatically when a checkbox is checked, Excel's VBA (Visual Basic for Applications) can provide a highly customizable solution. This method is especially useful for users handling large datasets or frequently repeating the operation. 

1. Open the worksheet where you need to move rows based on a checkbox status. Navigate to Developer > Insert > Checkbox (ActiveX Control) to insert a checkbox into your sheet. This control allows you to link actions to the checkbox. See screenshot:

2. Right-click on the worksheet tab at the bottom of your Excel window, then choose View Code from the context menu to open the corresponding code window for the sheet. See screenshot:

A screenshot showing the right-click context menu to access View Code in Excel

3. In the Microsoft Visual Basic for Applications window that appears, copy and paste the following VBA code into the code window:

VBA code: Move row into a specified worksheet when a checkbox is checked

Private Sub CheckBox1_Click()
    Dim xRg As Range
    Dim xAddress As String
    On Error Resume Next
    If CheckBox1.value Then
        xAddress = Application.ActiveWindow.RangeSelection.Address
        Set xRg = Application.InputBox("Please select the range row you will move(single cell):", "KuTools For Excel", xAddress, , , , , 8)
        If xRg Is Nothing Then Exit Sub
        Set xRg = xRg(1).EntireRow
        xRg.Copy
        ActiveWorkbook.Sheets("Sheet3").Range("A1").PasteSpecial xlPasteAllUsingSourceTheme
        xRg.Clear
        Application.CutCopyMode = False
    End If
End Sub

Notes: In the code, Sheet3 and A1 indicate that the specified row will be moved to the first row of Sheet3. Please change them based on your needs. For example, to move the row to Sheet2 starting at B10, simply adjust these values in the code.

Be careful when editing the macro. Making incorrect changes may cause errors or unintended data movement. Always save your workbook before running new VBA code in case you need to undo changes.

4. After entering the code, press Alt + Q on your keyboard to exit the VBA editor and return to your Excel worksheet.

5. Before using the functionality, make sure to turn off Design Mode in the Developer tab. This step activates the checkbox control so it can trigger the VBA macro as intended.

A screenshot showing how to turn off Design Mode in Excel from the Developer tab

6. Now, click the checkbox you added. A Kutools for Excel dialog box will pop up, prompting you to select the first cell of the row or the entire row you wish to move. Once selected, click OK. The specified row will instantly be moved to the designated worksheet as defined in your VBA code. See screenshot:

A screenshot of selecting a row to move based on a checkbox click in Excel


Excel Formula - Flag and filter rows for moving

A formula-driven solution can help you quickly identify which rows should be moved when their associated checkbox is checked. This is especially practical in data entry tables where checkboxes are linked to helper columns. These flagged rows can then be filtered and pasted into another sheet manually. The method does not require VBA and is ideal where strict automation isn't needed or macro use is restricted.

Assuming you have checkboxes in  B2 to B100 and linked to cell C2 to C100, and your data rows are in A2:B100, you can use a helper column (for example, column D) with a formula to flag checked rows:

1. In cell D2, enter the following formula:

=IF(C2=TRUE, "Move", "")

2. Press Enter to confirm the formula, then copy it down to cover all data rows (e.g., D2 to D100). You can do this by dragging the fill handle or by double-clicking it at the bottom right corner of the cell.

3. Now you can filter column D to show only "Move", then select the visible (filtered) rows and copy them to your target worksheet using Ctrl+C and Ctrl+V.

Tip: If your checkboxes are not linked to cell values, right-click each checkbox and set its Cell Link property so checking or unchecking updates a cell to TRUE or FALSE. This will enable the formula to work as intended.

Pros: No need for macros and works in shared files. Cons: Some manual steps are required for moving flagged rows.


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
Use Kutools in your preferred language – supports English, Spanish, German, French, Chinese, and 40+ others!

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!

All Kutools add-ins. One installer

Kutools for Office suite bundles add-ins for Excel, Word, Outlook & PowerPoint plus Office Tab Pro, which is ideal for teams working across Office apps.

ExcelWordOutlookTabsPowerPoint
  • All-in-one suite — Excel, Word, Outlook & PowerPoint add-ins + Office Tab Pro
  • One installer, one license — set up in minutes (MSI-ready)
  • Works better together — streamlined productivity across Office apps
  • 30-day full-featured trial — no registration, no credit card
  • Best value — save vs buying individual add-in