Посмотрите, работает ли это, это немного глупо, но делает свою работу.Убедитесь, что вы выполнили все шаги, иначе у вас возникнут проблемы.
В своей книге добавьте этот код в новый модуль ...
Public Sub Spinner1Change()
SpinnerChange "Spinner1"
End Sub
Public Sub Spinner2Change()
SpinnerChange "Spinner2"
End Sub
Public Sub Spinner3Change()
SpinnerChange "Spinner3"
End Sub
Public Sub Spinner4Change()
SpinnerChange "Spinner4"
End Sub
Public Sub Spinner5Change()
SpinnerChange "Spinner5"
End Sub
Sub SpinnerChange(ByVal strSpinnerName As String)
Dim bEnabled As Boolean, strLinkedCell As String, objSheet As Worksheet
Set objSheet = Worksheets("Sheet1")
If Range("rngCurrentValue") > Range("rngMaxValue") Then
strLinkedCell = objSheet.Shapes(strSpinnerName).ControlFormat.LinkedCell
objSheet.Range(strLinkedCell) = objSheet.Range(strLinkedCell) - 1
End If
End Sub
Измените «Лист1» наназвание вашей рабочей таблицы, где существуют ваши счетчики.
Теперь в вашей рабочей таблице ...

.. создайте 2 именованных диапазона:
- rngCurrentValue (связан с ячейкой H2 в моем примере)
- rngMaxValue (связан с ячейкой D2 в моем примере)
Используя ваши счетчики, присвойте каждому из них последовательное имя, я назвал их Spinner1, Spinner2, Spinner3 и т. Д. И свяжите их с нужными ячейками....

Введите максимальное значение (как показано в ячейке D2 ), а затем поверните до него идолжно привести к тому, что последнее вращение будет уменьшено до его прежнего значения.
Нет проверки ошибок как таковой, но вы можете справиться с этим самостоятельно, я чувствую, что это справедливо.
iЕсли вы получите лучшее решение, не стесняйтесь принять его.: -)