I don't have any pivot charts and don't have any charts on forms. I do have charts on reports and set axis scales with VBA. Example:
Code:
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
'Plot Graphs procedure
Dim MinUWT As Double, MaxUWT As Double
Dim MinDry As Double, MaxDry As Double
Dim MinSoak As Double, MaxSoak As Double
Dim MinRet As Double, MaxRet As Double
With Me
If Not IsNull(!MinOfA) Then
MinUWT = Int(!MinOfU) - Int((10 - (Int(!MaxOfU) + 1 - Int(!MinOfU))) / 2)
MaxUWT = MinUWT + 10
MinDry = Int(!MinOfD / 5) * 5 - (50 - Int((Int(!MaxOfD / 5) * 5 + 5 - Int(!MinOfD / 5) * 5) / 10) * 10) / 2
MaxDry = MinDry + 50
MinSoak = Int(!MinOfS / 5) * 5 - (50 - Int((Int(!MaxOfS / 5) * 5 + 5 - Int(!MinOfS / 5) * 5) / 10) * 10) / 2
MaxSoak = MinSoak + 50
MinRet = Int(!MinOfR / 5) * 5 - (50 - Int((Int(!MaxOfR / 5) * 5 + 5 - Int(!MinOfR / 5) * 5) / 10) * 10) / 2
MaxRet = MinRet + 50
.gphWeight.Axes(xlValue).MinimumScale = MinUWT
.gphWeight.Axes(xlValue).MaximumScale = MaxUWT
.gphITSdry.Axes(xlValue).MinimumScale = MinDry
.gphITSdry.Axes(xlValue).MaximumScale = MaxDry
.gphITSsoak.Axes(xlValue).MinimumScale = MinSoak
.gphITSsoak.Axes(xlValue).MaximumScale = MaxSoak
.gphITSret.Axes(xlValue).MinimumScale = MinRet
.gphITSret.Axes(xlValue).MaximumScale = MaxRet
If Me!Metric = True Then
.gphWeight.Axes(xlValue, xlPrimary).AxisTitle.Text = "Unit Weight, kg/cu.cm"
.gphGradation.Axes(xlCategory, xlPrimary).AxisTitle.Text = "Sieve Size (mm)"
.gphITSdry.Axes(xlValue, xlPrimary).AxisTitle.Text = "ITS Dry, kg/cu.cm"
.gphITSsoak.Axes(xlValue, xlPrimary).AxisTitle.Text = "ITS Soaked, kg/cu.cm"
End If
End If
End With
End Sub