View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
joel joel is offline
external usenet poster
 
Posts: 9,101
Default Copy and Paste LAST ROW of data non-contiguous

What this code will do is copy the last row of sheet2 to the bottom of all
the sheets listed in the Array in the code below. Array can be in any order
and contain as many sheets as necessary (except sheet 2 cannot be in the
arrray).
Dim LRow As Long
Dim sh as worksheet

with sheets("Sheet2")
Sh2LRow = .Cells(Rows.Count, "A").End(xlUp).Row
end with
for each sh in worksheets(Array("sheet1", "sheet3", "sheet5"))
shLRow = sh.Cells(Rows.Count, "A").End(xlUp).Row
with sheets("Sheet2")
.Rows(Sh2LRow).Copy Destination:=sh.Rows(shLRow + 1)
end with
Next sh
End Sub


"Sam via OfficeKB.com" wrote:

Hi Joel,

Thank you very much for reply and assistance.

Dim LRow As Long
Dim sh as worksheet
for each sh in worksheets(Array("sheet1", "sheet3", "sheet5"))
LRow = sh.Cells(Rows.Count, 1).End(xlUp).Row
with sheets("Sheet2")
.Rows("1:10").Copy Destination:=sh.Rows(LRow + 1)
end with
Next sh
End Sub

The above does not produce the desired result. The sheets will not be
sequentially named and the number of rows on each sheet will vary.

Further help appreciated.

Cheers,
Sam

Joel wrote:
Sub test()
Dim LRow As Long


LRow = Cells(Rows.Count, 1).End(xlUp).Row
Rows(LRow).Copy Rows(LRow + 1)
End Sub


I added the following lines to Mike's code but could not get it to goto each
worksheet in turn.
Dim sh as worksheet
for each sh in worksheets(Array("sheet1", "sheet3", "sheet5"))
LRow = sh.Cells(Rows.Count, 1).End(xlUp).Row
with sheets("Sheet2")
.Rows("1:10").Copy Destination:=sh.Rows(LRow + 1)
end with
Next sh


--
Message posted via http://www.officekb.com