基于具有不同宏的数值自动生成的按钮

时间:2016-12-12 17:31:37

标签: excel vba excel-vba

我有一个“发布”按钮:将数字分配给特定单元格,计算数字,创建PDF文档,制作历史记录等等。

我需要根据不同宏的数值自动生成按钮。

例如:

如果目标单元格值= 4,则创建4个按钮,分配宏1,2,3,4。

如果value = 5,则创建5个按钮并指定宏1,2,3,4,5等。

每个指定的宏都会有所不同。 (按钮的最大数量应为20。)

2 个答案:

答案 0 :(得分:1)

在工作表中,您应该创建20个按钮。从这里将它们分配给它们具有相同值的宏,并隐藏每一个。从这里,您可以循环以启用当前目标单元格值的可见性。在这种情况下A1。

Dim MyVal As Long
MyVal = Range("A1").Value

For i = 1 To MyVal
    ActiveSheet.Buttons("Button " + CStr(i)).Visible = True
Next i

答案 1 :(得分:0)

您必须对删除等进行排序,但这样的事情

Sub SortButtons()

Dim intButton As Integer
Dim cbNewButton As Button

Const intHeight = 30

For intButton = 1 To 4
    Set cbNewButton = ActiveSheet.Buttons.Add(224.25, (intButton * intHeight) + 20, 90.75, intHeight)
    cbNewButton.OnAction = "Macro" & intButton
    cbNewButton.Text = "Button for Macro " & intButton
    cbNewButton.Name = "OK_TO_DELETE_" & intButton
Next intButton

End Sub