Hi Michael,
This code should do what you want.
One of the pro's could probably do it in fewer lines, but it works ok.
The code finds the last populated row on sheet1, the first unpopulated row
on Sheet2, then does the copy and paste.
I think a button would work best.
Note that the code does not detect if a new Row of data has been added to
Sheet1. If you push the button multiple times, the last row on sheet1 will be
copied multiple times to successive rows on sheet2.
New-data detection could be built in if necessary - I think
If your sheet names aren't Sheet1 and Sheet2, you'll have to change the code
accordingly.
As it is now, when the macro finishes, Sheet2 is the active sheet.
If you want Sheet1 to be active after running, remove the apostrophe from
the beginning of the last line.
Never tried Vegemite? Oh dear oh dear. Is this possible?
Sub CopyLastRow()
Dim A As Integer, B As Integer
A = 1
B = 1
Do Until Worksheets("Sheet1").Cells(A + 1, 1) = ""
A = A + 1
Loop
Do Until Worksheets("Sheet2").Cells(B, 1) = ""
B = B + 1
Loop
Sheets("Sheet1").Select
Worksheets("Sheet1").Range(Cells(A, 1), Cells(A, 3)).Copy
Sheets("Sheet2").Select
Range(Cells(B, 1), Cells(B, 3)).Select
ActiveSheet.Paste
Application.CutCopyMode = False
'Sheets("Sheet1").Select
End Sub