Sub Last_row_Add()
With Range("PerformanceTable")
'LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 2 'I think this is wrong
LastRow = .Cells(.Rows.Count, 1).Row + 2
End With
Worksheets("Performance Update").Range("A" & LastRow).FormulaR1C1 = "=""This currently represents an overall $"" & SUM(PerformanceTable[Profit/Loss]) & "" "" & IF(SUM(PerformanceTable[Profit/Loss])<0,""loss"",""increase"") & "" in your portfolio which represents a "" & IF(SUM(PerformanceTable[Profit/Loss])>0,""+"",""-"") & "" "" & ROUND((SUM(PerformanceTable[Profit/Loss]))/SUMPRODUCT((OwnedSh[Share Owner]=Dashboard!R[" & 19 - LastRow & "]C[4])*Owned" & "Sh[Total Purchase Value])*100,2) & ""% change from your invested funds. should you wish to make changes to the investmenets please contact your account manager. """
End Sub
Could be simpler if the reference to Dashboard!E19 was absolute (Dashboard!$E$19) instead of relative.