Кнопка Spin для Excel - PullRequest
       2

Кнопка Spin для Excel

1 голос
/ 11 апреля 2019

Я пытаюсь добавить кнопку вращения, чтобы увеличить значение, где бы ни присутствовали данные.

Я вручную добавил кнопку прокрутки для одного поля, чтобы увеличить значение. Как добавить кнопки прокрутки, где когда-либо присутствует значение Что-то вроде корзины.

Private Sub quantity_SpinDown()
   Range("M6").Value = Range("M6") - 1

End Sub

Private Sub quantity_SpinUp()
Range("M6").Value = Range("M6") + 1

End Sub

Я ожидаю, что эта кнопка прокрутки там, где есть элемент в корзине, увеличит значение элемента в корзине. Проверьте изображение здесь

1 Ответ

0 голосов
/ 11 апреля 2019

Вы можете создать макрос для динамического создания счетчиков.В приведенном ниже примере вы можете выбрать несколько ячеек на рабочем листе и затем выполнить следующие действия: 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, так как при фильтрации столбцов может сохраняться исходная ссылка на ячейку, изменяютсязначение в ячейке, отличной от ожидаемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...