Excel的旋转按钮

时间:2019-04-11 13:02:57

标签: excel button

我正在尝试添加一个旋转按钮以增加存在数据的位置的值。

我手动为一个字段添加了一个旋转按钮以增加该值。如何在出现数值的地方添加旋转按钮。像购物车一样。

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

End Sub

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

End Sub

我希望这个旋转按钮可以在购物车中存在任何物品的地方增加购物车中物品的价值。Check Image here

1 个答案:

答案 0 :(得分:0)

您可以创建一个宏来动态创建微调器。在下面的示例中,您可以在工作表中选择一些单元格,然后执行以下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的值,因为当您过滤列时,它可能会保留原始单元格引用,而在与预期的。