Sub CreateChartInAnotherSheet() Dim wsAP As Worksheet, wsAR As Worksheet, wsDash As Worksheet Dim co As ChartObject Dim cht As Chart ' Sheets Set wsAP = ThisWorkbook.Sheets("AP") ' Expenditure Set wsAR = ThisWorkbook.Sheets("AR Invoice") ' Revenue Set wsDash = ThisWorkbook.Sheets("exec dasboard") ' Target (check spelling) ' Optional: replace existing chart with the same name On Error Resume Next wsDash.ChartObjects("RevVsExp").Delete On Error GoTo 0 ' Create chart ON the dashboard Set co = wsDash.ChartObjects.Add(Left:=30, Top:=30, Width:=500, Height:=300) co.Name = "RevVsExp" Set cht = co.Chart With cht .ChartType = xlLine .HasLegend = True .SetElement msoElementLegendRight ' Expenditure With .SeriesCollection.NewSeries .Name = "Expenditure" .Values = wsAP.Range("I2:I51") .XValues = wsAP.Range("E2:E51") End With ' Revenue With .SeriesCollection.NewSeries .Name = "Revenue" .Values = wsAR.Range("I2:I51") .XValues = wsAR.Range("E2:E51") End With .HasTitle = True .ChartTitle.Text = "Revenue vs Expenditure" With .Axes(xlCategory) .HasTitle = True .AxisTitle.Text = "Months" End With With .Axes(xlValue) .HasTitle = True .AxisTitle.Text = "Php" End With End With End Sub