This Should Help:
To find the last row use this
FinalRow = Range("A65536").End(xlUp).Row
that will give you the row value
To get the data from another workbook the macro could open the workbook, or you could have data in this workbook that tracks the other data. For example lets say the data stats at A1, then somewhere on this workbook at row 1 have something like =(theothereworkbook,location,name,etc) Excel will automatically put in the right format if you just type = and select a1 in the other workbook.
For the second part just use something like
sub copyit()
FinalRow = Range("A65536").End(xlUp).Row
range(range where data to be copied is).select
selection.copy
for x=1 to finalrow
range("A"&x).select
activesheet.paste
next x
end sub
Hope this helps
Jacob