Вы можете создать макрос для динамического создания счетчиков.В приведенном ниже примере вы можете выбрать несколько ячеек на рабочем листе и затем выполнить следующие действия: Sub
:
Option Explicit
Sub createSpinnersInSelection()
Dim spinner As OLEObject
Dim selectedCell As Range
For Each selectedCell In Selection
' Creates a spinner
Set spinner = selectedCell.Parent.OLEObjects.Add(ClassType:="Forms.SpinButton.1", Top:=selectedCell.Top, Left:=selectedCell.Left, Height:=selectedCell.RowHeight, Width:=15)
' Setting spinner properties
With spinner
' Cell to change the value
.LinkedCell = selectedCell.Address(0, 0)
With .Object
' Initial value
.Value = 0
' Increment of cell
.SmallChange = 1
End With
End With
Next selectedCell
End Sub
Вы можете добавить дополнительные свойства, такие как цвет счетчика и другие (код был адаптирован из этого thread )
Важное примечание: Возможно, вам придется немного подкорректировать значение .LinkedCell
, так как при фильтрации столбцов может сохраняться исходная ссылка на ячейку, изменяютсязначение в ячейке, отличной от ожидаемой.