title: add new data series to an existing excel chart object in powerpoint using vba 2010 - type mismatch
body: <p>I am outputting an excel chart into powerpoint and I need to add a new data series to the Chart, I have recorded the macro to see how to do it, which it requires a range to a series collection but no luck.  </p>
  
  <p>Here is the full working example using access 2010 vba, in which at the end I try to add a new data series:</p>
  
  <pre><code>Option Compare Database
  
  Public Sub CreateChart()
  Dim myChart As Chart
  Dim gChartData As ChartData
  Dim gWorkBook As Excel.Workbook
  Dim gWorkSheet As Excel.Worksheet
  Dim pptApp As Object
  Dim pptobj As Object
  
  Set pptApp = CreateObject("Powerpoint.Application")
  Set pptobj = pptApp.Presentation.Add
  
  pptobj.Slides.Add 1, ppLayoutBlank
  
  ' Create the chart and set a reference to the chart data.
  Set myChart = pptobj.Slides(1).Shapes.AddChart.Chart
  Set gChartData = myChart.ChartData
  
  ' Set the Workbook and Worksheet references.
  Set gWorkBook = gChartData.Workbook
  Set gWorkSheet = gWorkBook.Worksheets(1)
  
   ' Add the data to the workbook.
  gWorkSheet.ListObjects("Table1").Resize gWorkSheet.Range("A1:B5")
  gWorkSheet.Range("Table1[[#Headers],[Series 1]]").Value = "Items"
  gWorkSheet.Range("a2").Value = "Coffee"
  gWorkSheet.Range("a3").Value = "Soda"
  gWorkSheet.Range("a4").Value = "Tea"
  gWorkSheet.Range("a5").Value = "Water"
  gWorkSheet.Range("b2").Value = "1000"
  gWorkSheet.Range("b3").Value = "2500"
  gWorkSheet.Range("b4").Value = "4000"
  gWorkSheet.Range("b5").Value = "3000"
  
  ' Apply styles to the chart.
  With myChart
      .ChartStyle = 4
      .ApplyLayout 4
      .ClearToMatchStyle
  End With
  
  ' Add the axis title.
  With myChart.Axes(xlValue)
      .HasTitle = True
      .AxisTitle.Text = "Units"
  End With
  
  'Add a new data series - TYPE MISMATCH ERROR!!!
  myChart.SeriesCollection.NewSeries
  myChart.SeriesCollection(2).Name = "New_Series"
  myChart.SeriesCollection(2).Values = gWorkSheet.Range("C2:C5") 'Range that is in the worksheet
  
  'myChart.ApplyDataLabels
  
  ' Clean up the references.
  Set gWorkSheet = Nothing
  ' gWorkBook.Application.Quit
  Set gWorkBook = Nothing
  Set gChartData = Nothing
  Set myChart = Nothing
  
  End Sub
  </code></pre>
  
  <p>This example is in the following link: <a href="https://msdn.microsoft.com/en-us/library/office/ff973127(v=office.14).aspx" rel="nofollow noreferrer">https://msdn.microsoft.com/en-us/library/office/ff973127(v=office.14).aspx</a></p>
  
  <p>In order to run this code is necessary to import: Visual Basic For Applications, Microsoft access Object Library, OLE Automation, Microsoft office access database engine object, Microsoft Office Object Library, Microsoft Powerpoint Object Library and Microsoft Excel Object Library. (Powerpoint object library should be imported first and then Microsoft Excel Object Library or there are reference problems)</p>
  
  <p>Do you have any idea of how to add a new data series or what could be wrong with the code?</p>
  
  <p>Thanks a lot in advance.</p>