How to copy data to next empty row of another worksheet in Excel?
Supposing you want to copy certain data in range A1:E1 of Sheet1 and paste it quickly to the next empty row of Sheet2 in a workbook as below screenshot shown, what can you do easily achieve it? This article will introduce a VBA method for you.
- 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.
You can run the below VBA code to copy data in a certain sheet and paste to the next empty row of another worksheet automatically.
1. Press Alt + F11 keys simultaneously to open the Microsoft Visual Basic for Applications window.
2. In the Microsoft Visual Basic for Applications window, click Insert > Module. Then copy and paste the below VBA code into the Module window.
VBA code: copy data to next empty row of another worksheet
Private Sub CommandButton1_Click() Dim xScreenUpdating As Boolean Dim xPasteSht As Worksheet Dim xRg As Range Dim xTxt As String On Error Resume Next xTxt = ActiveWindow.RangeSelection.Address Set xRg = Application.InputBox("Please select a range:", "Kutools for Excel", xTxt, , , , , 8) If xRg Is Nothing Then Exit Sub Set xPasteSht = Worksheets("Sheet2") xScreenUpdating = Application.ScreenUpdating Application.ScreenUpdating = False xRg.Copy xPasteSht.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues Application.CutCopyMode = False Application.ScreenUpdating = xScreenUpdating End Sub
Note: In the code, Sheet2 is the destination worksheet of the copied data. You can change it based on your need.
3. Press the F5 key to run the code, in the popping up Kutools for Excel dialog box, please select the range you want to copy to the next empty row of Sheet2, and then click the OK button. See screenshot:
Then the copied data of Sheet1 is pasted to the next empty row of the specific Sheet2 immediately as below screenshot shown: