Code:
        Dim MyChart As Excel.Chart
        Dim TempRange As Excel.Range
        Dim PrecipRange As Excel.Range 
        Dim MySeriesColl As Excel.SeriesCollection 
        Dim TempSeries As Excel.Series 
        Dim PrecipSeries As Excel.Series 

        set MyChart = Globals.ThisWorkbook.Charts.Add(System.Type.Missing, Globals.ThisWorkbook.Sheets("Sheet1"), System.Type.Missing, System.Type.Missing)

        MyChart.ChartType = Excel.XlChartType.xlLine

        set TempRange = Globals.Sheet1.Range("E4", "P4")
        set PrecipRange = Globals.Sheet1.Range("E5", "P5")
        setMySeriesColl = MyChart.SeriesCollection
        set tempSeries = MySeriesColl.Add(TempRange, Excel.XlRowCol.xlRows, False, False, False)
        TempSeries.Name = "Temperature"
        TempSeries.AxisGroup = Excel.XlAxisGroup.xlPrimary
        '*******
'        MySeriesColl = MyChart.SeriesCollection 
'required or else second series overwrites first one?
         myserirescoll.refresh '? <-- or requery? perhaps the collection isn't refreshing?
        '*******
        set PrecipSeries = MySeriesColl.Add(PrecipRange, Excel.XlRowCol.xlRows, False, False, False)
        PrecipSeries.Name = "Precipitation"
        PrecipSeries.AxisGroup = Excel.XlAxisGroup.xlSecondary
** Code may be wrong but isn't this a better way of seting the variables? (your choice of course)
Refresh collection is from memory and I haven't checked if that exists... but there is a vague memory of using it.