Reputation: 1
I'm currently trying to copy from one worksheet and paste into a new worksheet using VBA. however i have the following variables
I've currently managed to come up with the following code but i keep getting error's and don't know where i am going wrong as i am new to VBA.
Sub CandP()
'
'
Dim Last_Row As Long
Application.ScreenUpdating = False
Last_Row = Range("A2:BC2" & Rows.Count).End(xlUp).Row
Range("A2:BC2").Copy
Windows("Newsheet.xlsm").Activate
Range("$A2:BC$" & last_row).FillDown
End Sub
All help is appreciated, Thank you
Upvotes: 0
Views: 11509
Reputation: 942
You could try this:
Option Explicit
Sub CandP()
Dim Last_Row1 As Long, Last_Row2 As Long
Dim WB1 As Workbook, WB2 As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet
Set WB1 = ThisWorkbook ' Workbook where you want to copy the data
Set ws1 = WB1.Sheets("Sheet1") ' Change the name of your Sheet
Set WB2 = Workbooks.Open("C:\Desktop\vba\Newsheet.xlsm") ' Enter the address of the Workbook you want to paste the data
Set ws2 = WB2.Sheets("Sheet1") ' Change the name of your Sheet
Last_Row1 = ws1.Range("A" & Rows.Count).End(xlUp).Row ' Determine the lastrow of the data to copy
Last_Row2 = ws2.Range("A" & Rows.Count).End(xlUp).Row + 1 ' Determine the next empty row in order to paste the data
ws1.Range("A2:BC" & Last_Row1).Copy ws2.Range("A" & Last_Row2)
End Sub
Upvotes: 3