首先,对这个问题的拙劣表述感到抱歉。
这是问题所在。使用宏,我创建了多个按钮,现在沿使用范围的最后一列,每个单元格中都有一个按钮。但是,它们都没有分配宏。
我想做的是拿出动态代码,它将使这些按钮执行所需的任务,这样我就可以避免为每个按钮编写一个宏。换句话说,我想学习的是;
如果点击了按钮i
,请执行操作。
答案 0 :(得分:0)
好吧,如果要添加单击事件处理程序(单击按钮时执行的方法),就足以在模块中定义它们(非常重要!),然后将方法名称分配给其中的OnAction
您的按钮。请参见下面的示例代码:
Sub test()
Dim btn As Button
Application.ScreenUpdating = False
Dim t As Range
' button will be placed in A1 cell
Set t = Cells(1, 1)
Set btn = Worksheets("Arkusz1").Buttons.Add(t.Left, t.Top, t.Width, t.Height)
With btn
' here we assign an event handler
.OnAction = "BtnAction"
.Caption = "My button"
.Name = "MyBtn"
End With
Application.ScreenUpdating = True
End Sub
以上代码在工作表中定义,而代码在模块(事件处理程序)中:
Sub BtnAction()
MsgBox "Hello world!"
End Sub