To add to @Excel Heros answer. I had a similar problem but you may find at times Excel's Auto scale option does not work so well for some charts (depending on range of data), and it adds in the origin (zero) and you are left with a tiny squashed data block plotted on top.
See Peltier for an excellent explanation of how Excel works out axes range.

Macro Buttons
You can always use a Macro Button on the worksheet that users can use to Reset the Axes.
I used a Set Axes Minimum Button to switch axes to a minimum in a table / or set by user
And a Reset Axes Range for my chart to switch back to Auto.
CODE
This code below was specific to my task but you might be able to salvage some ideas from it.
Reset the axis back to auto
Sub btnChartAxisResetRange()
' SET chart object name
Call ChartResetAxis("chtRange")
End Sub
Sub ChartResetAxis(strChartname As String)
' Reset the lower y axis of chart back to Auto
'
' INPUTS
' Relies on chart object name
'
ActiveSheet.ChartObjects(strChartname).Activate
ActiveChart.Axes(xlValue).Select
ActiveChart.Axes(xlValue).MinimumScaleIsAuto = True
End Sub
Tweak the axis minimum to another value
In this case I had a table of minimums for certain price charts where I know in a weekly pack I had to override the minimum axis issue when I did a batch run. This prevented charts like I show in figure above.
Sub GetChartMinimumAxisTweaks()
' Change minimum axis scale if set to zero and looks too small
' Set the lower y axis of chart so the lower value does not default to zero
' Uses a table manually set up
'
' INPUTS/PREREQUISITES
' Relies on manual data set up in rng1PagerAxesOverrideTable with Minimum scales for either chart
'
' CALLS
' ChartTweakAxis(strChartname As String, minvalue As Double)
Dim minaxisvalue As Double
ThisWorkbook.Activate
' Get axis value. Using offsets of range
' But if no value then need to reset
' Chart of Price
minaxisvalue = Val(ThisWorkbook.Sheets("ReviewCalcPage").Range("rng1PagerAxesOverrideCheck").Offset(0, 1).Value)
Call ChartTweakAxis("chtSTPerformance", minaxisvalue)
End Sub
Sub ChartTweakAxis(strChartname As String, minvalue As Double)
' Change minimum axis scale if set to zero and looks too small
' Set the lower y axis of chart so the lower value does not default to zero
' INPUTS
' Relies on chart object name and manual value to set Minimum scale too
' If minvalue is zero then Reset rather to Auto
'
If minvalue = 0 Then
Call ChartResetAxis(strChartname)
Else
' Set axis
ActiveSheet.ChartObjects(strChartname).Activate
ActiveChart.PlotArea.Select
ActiveChart.ChartArea.Select
ActiveChart.Axes(xlValue).Select
ActiveChart.Axes(xlValue).MinimumScale = minvalue
End If
End Sub
Hope this helps if you run into axes issues! Bit off topic but trying to help.