How to move a certain row into a new sheet when check box is checked in Excel?
This article is talking about moving a certain row into a new sheet when check box is checked in Excel.
- Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
- More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
- Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
- Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
- Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
- Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
- More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.
Please do as follows to move a certain row to a specified worksheet when checking a check box in Excel.
1. Shift to the worksheet you need to move row based on check box, click Developer > Insert > Check Box (ActiveX Control) to insert a check box. See screenshot:
2. Right click the sheet tab, and then click View Code from the right-clicking menu. See screenshot:
3. In the opening Microsoft Visual Basic for Applications window, please copy and paste below VBA code into the Code window.
VBA code: Move row into a specified worksheet when a check box 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
Note: In the code, Shee3 and A1 indicate that the specified row will be moved to the first row in Sheet3. Please change them based on your needs.
4. Press the Alt + Q keys to close the Microsoft Visual Basic for Applications window.
5. Turn off the Design Mode by clicking the Design Mode button on the Developer tab.
6. Check the check box, then a Kutools for Excel dialog box pops up, please select the first cell of the row （or the entire row）you need to move and click the OK button. Then the specified entire row will be moved to a certain worksheet immediately. See screenshot:
- How to move entire row to another sheet based on cell value in Excel?
- How to move entire row to the bottom of active sheet based on cell value in Excel?