Option Explicit
'*************************************************************************
'* Assumptions *
'* The start of data is always Col R Row 2. *
'* Col T always contains Income and it is always in the same order *
'* The data is on worksheet "Sheet1" *
'* Worksheet "Sheet2" is in the same workbook *
'* There is always "Income" and a '0" in row R *
'*************************************************************************
Public Sub CopyPasteFinancials()
Dim LastRow As Integer
Dim StartRow As Integer
Dim CopyFrom As Range
'The data is on Sheet1
Worksheets("Sheet1").Activate
'The word "Income" is in column 20 The start row is the first row with Income"
StartRow = Columns(20).Find(What:="Income", LookAt:=xlWhole, MatchCase:=False).Row
'There is "0" in Column 20
LastRow = Columns(20).Find(What:="0", LookAt:=xlWhole, MatchCase:=False).Row
'Copy down to the row before the 0
LastRow = LastRow - 1
Set CopyFrom = Range(Cells(StartRow, 18), Cells(LastRow, 21))
CopyFrom.Copy
'Paste this into Sheet2 sstart with cell A1
Sheets("Sheet2").Select
Cells(1, 1).PasteSpecial xlPasteAll
End Sub