Could use a textbox sitting on top of the chart. I've gone that route as well.
I don't know why the code fails. I've never tried to programmatically set the chart title, only the axis titles.
Code:
With Me.gphDensity
.Axes(xlValue, xlPrimary).HasTitle = True
If Forms!DataSoilsAgg!Metric = True Then
.Axes(xlValue, xlPrimary).AxisTitle.Text = "Max. Dry Density, Kg/cu.m"
End If
.Axes(xlCategory, xlPrimary).HasTitle = True
If Forms!DataSoilsAgg!Metric = True Then
.Axes(xlCategory, xlPrimary).AxisTitle.Text = "Percent Passing 4.75 mm Sieve"
End If
End With