Sub AddGraph() Dim xl As Excel.Application Dim wb As Excel.Workbook Dim ws As Excel.Worksheet Dim rg1 As Excel.Range Dim rg2 As Excel.Range Dim n As Integer Dim s1 As Excel.Series Dim s2 As Excel.Series Dim sc As Excel.SeriesCollection Dim ch As ChartObject Dim sXRange As String Dim sValRange As String Set xl = Application Set wb = xl.ThisWorkbook Set ws = wb.Sheets(1) Set rg1 = ws.Range(Cells(5, 2), Cells(11, 2)) Set rg2 = ws.Range(Cells(5, 3), Cells(11, 3)) sXRange = rg1.Address(RowAbsolute:=False, ColumnAbsolute:=False) sValRange = rg2.Address(RowAbsolute:=False, ColumnAbsolute:=False) Set ch = ws.ChartObjects.Add(50, 210, 300, 250) ch.Chart.ChartType = xlPie ch.Chart.SeriesCollection.NewSeries ch.Chart.SeriesCollection(1).XValues = ws.Range(sXRange) ch.Chart.SeriesCollection(1).Values = ws.Range(sValRange) ch.Chart.HasTitle = True ch.Chart.ChartTitle.Text = "Hours Worked" End Sub