How To Copy A Row In Excel Vba

Copying a row in Excel VBA

To copy a row in Excel VBA, you can use the following code:

Sub CopyRow()
    ' Define variables for the source and destination ranges
    Dim sourceRange As Range
    Dim destRange As Range
    
    ' Set the source range to the desired row
    Set sourceRange = Worksheets("Sheet1").Rows(2) ' Change "Sheet1" and 2 to your specific sheet and row number
    
    ' Set the destination range to the next empty row in the destination sheet
    Set destRange = Worksheets("Sheet2").Cells(Worksheets("Sheet2").Rows.Count, 1).End(xlUp).Offset(1, 0) ' Change "Sheet2" and 1 to your specific sheet and column number
    
    ' Copy the values and formatting from the source range to the destination range
    sourceRange.Copy destRange
    
    ' Optionally, you can also copy the formulas from the source range to the destination range
    ' destRange.Formula = sourceRange.Formula
    
    ' Clean up
    Set sourceRange = Nothing
    Set destRange = Nothing
End Sub

In the above code, we first define two variables: sourceRange and destRange. The sourceRange variable represents the row that you want to copy, and the destRange variable represents the destination range where you want to paste the copied row.

You can change the sheet name and row number in the code to match your specific requirements. Similarly, you can adjust the destination range to paste the copied row in the desired location.

We use the Copy method of the sourceRange to copy both the values and formatting from the source range to the destination range. Optionally, you can also copy the formulas by uncommenting the destRange.Formula line.

Finally, we clean up by setting the variables to Nothing.

Make sure you have added appropriate error handling and other necessary code based on your specific requirements.

Related Post

Leave a comment