Thanks Andy.

I have managed to get it working but one improvement remains. Currently the value is coming from the same worksheet as the one on which the chart is. But I want to place the value on another worksheet and then access it in the code from there. How do I change the 4th line to do this. So for eg if the worksheet I want to place the value in is called 'Weight' how do I call it in the 4th line?

Thanks

AlignY ThisWorkbook.Worksheets("Report").ChartObjects("Chart 75").Chart


Sub AlignY(Cht As Chart)


With Cht
With .Axes(xlValue, xlPrimary)
.MinimumScale = ActiveSheet.Range("Y548").Value
.MaximumScale = 1
End With


End With
End Sub