The macro is only executed when you release the spinbutton, but the spinbutton code is executed immediately and repeated as long as you hold the botton. So there's your problem.
Guess you should move control entirely to the macro. Means that you would not link the spinbuttons to a cell but have the macro assign the spinbutton values to these cells.
Should be something like
[ImpAgg_PE!$Z$27] = ActiveSheet.Shapes("Spinner20").ControlFormat.Value
[ImpAgg_PE!$Z$28] = ActiveSheet.Shapes("Spinner21").ControlFormat.Value
[ImpAgg_PE!$Z$29] = ActiveSheet.Shapes("Spinner22").ControlFormat.Value
[ImpAgg_PE!$Z$30] = ActiveSheet.Shapes("Spinner23").ControlFormat.Value
[ImpAgg_PE!$Z$31] = ActiveSheet.Shapes("Spinner24").ControlFormat.Value
Tried this myself but ran into some more required adjustments. So still working on it. But this sure will be easier for you being more familiar to the code 
Extra adjustements needed come from - afaiks now - this line
RowNumber = Right(Selection.LinkedCell, 2)
So you would also need an alternative to determine the rownumber. Probably something like this
Select Case Application.Caller
Case "Spinner20"
RowNumber = 27
Case "Spinner21"
RowNumber = 28
Case "Spinner22"
RowNumber = 29
etc ...
Bookmarks