Copying Data from One sheet to another

J

James

Hi all

I am trying to copy cells from one sheet and paste in another using the
below. The theory is that there is a new row in both sheet 1 and 2 each day
and each day I want it to find the last row in sheet 1, copy the data in
cells B-M into the last row in sheet 2, columns F-Q. However it keeps
erroring! Does anyone have any ideas what I'm doing wrong????

Sheets("Sheet1").Select
Cells(Rows.Count, "A").End(xlUp).Select
Intersect(ActiveCell.EntireRow, Range("B:M")).Copy
Sheets("Sheet2").Select
Cells(Rows.Count, "C").End(xlUp).Select
Intersect(ActiveCell.EntireRow, Range("F:Q")).Paste


Thanks in advance for any help
 
J

jason

Hi all

I am trying to copy cells from one sheet and paste in another using the
below. The theory is that there is a new row in both sheet 1 and 2 each day
and each day I want it to find the last row in sheet 1, copy the data in
cells B-M into the last row in sheet 2, columns F-Q. However it keeps
erroring! Does anyone have any ideas what I'm doing wrong????

Sheets("Sheet1").Select
Cells(Rows.Count, "A").End(xlUp).Select
Intersect(ActiveCell.EntireRow, Range("B:M")).Copy
Sheets("Sheet2").Select
Cells(Rows.Count, "C").End(xlUp).Select
Intersect(ActiveCell.EntireRow, Range("F:Q")).Paste

Thanks in advance for any help

excel commands are buggy when programmed. use do loops.
 
J

jason

Hi all

I am trying to copy cells from one sheet and paste in another using the
below. The theory is that there is a new row in both sheet 1 and 2 each day
and each day I want it to find the last row in sheet 1, copy the data in
cells B-M into the last row in sheet 2, columns F-Q. However it keeps
erroring! Does anyone have any ideas what I'm doing wrong????

Sheets("Sheet1").Select
Cells(Rows.Count, "A").End(xlUp).Select
Intersect(ActiveCell.EntireRow, Range("B:M")).Copy
Sheets("Sheet2").Select
Cells(Rows.Count, "C").End(xlUp).Select
Intersect(ActiveCell.EntireRow, Range("F:Q")).Paste

Thanks in advance for any help

see post in group to "excel database" question.
 
J

JLGWhiz

James, I re-wrote your code to eliminate the select keyword and to use a
different syntax for the copy/paste function. This puts the target row in a
variable for the copy and then puts the next empty row in sheet2 in a
variable for the paste function. The copy to destination syntax does not
use the Paste or PasteSpecial command, Paste is implied by the syntax
structure. Put the Dim statements at the top of your macro and give it a
try.

rw = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row
rw2 = Sheets("Sheet2").Cells(Rows.Count, "C").End(xlUp).Offset(1).Row
Range("B" & rw & ":M" & rw).Copy _
Sheets("Sheet2").Range("F" & rw2)

'remainder commented out as unneeded.
'Intersect(ActiveCell.EntireRow, Range("B:M")).Copy
'Sheets("Sheet2").Select
'Cells(Rows.Count, "C").End(xlUp).Select
'Intersect(ActiveCell.EntireRow, Range("F:Q")).Paste
 
M

Mike H

Hi,

Try it like this

lastrow1 = Sheets("Sheet1").Cells(Cells.Rows.Count, "B").End(xlUp).Row
lastrow2 = Sheets("Sheet2").Cells(Cells.Rows.Count, "F").End(xlUp).Row + 1
Sheets("Sheet1").Range("B" & lastrow1 & ":M" & lastrow1).Copy _
Destination:=Sheets("Sheet2").Range("F" & lastrow2)
 
B

Barb Reinhardt

Try this

Option Explicit
Sub test()
Dim myWS As Excel.Worksheet
Dim myWS1 As Excel.Worksheet
Dim lRow As Long
Dim lRow1 As Long
Dim myRange As Excel.Range

Set myWS = Sheets("Sheet1")
lRow = myWS.Cells(myWS.Rows.Count, "A").End(xlUp).Row
Set myRange = myWS.Range("B" & lRow & ":M" & lRow)

Set myWS1 = Worksheets("Sheet2")
lRow1 = myWS1.Cells(myWS1.Rows.Count, "C").End(xlUp).Row

myRange.Copy Destination:=myWS1.Range("F" & lRow1)


End Sub
 
J

Jacob Skaria

Try the below

Sub Macro()
Dim lngRowSource As Long, lngRowDest As Long
lngRowSource = Sheets("Sheet1").Cells(Rows.Count, "B").End(xlUp).Row
lngRowDest = Sheets("Sheet2").Cells(Rows.Count, "F").End(xlUp).Row

Sheets("Sheet1").Range("B" & lngRowSource).Resize(, 12).Copy _
Sheets("Sheet2").Range("F" & lngRowDest + 1).Resize(, 12)
End Sub

If this post helps click Yes
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top