您可以使用Andrew Poulson 在此处概述的此类模块方法来满足所有按钮的需求
我不明白您的评论TopLeftCell
- 它可用于 ActiveX 按钮
Class Module
`named as Class1
Public WithEvents ButtonGroup As CommandButton
Private Sub ButtonGroup_Click()
Sheets(ButtonGroup.Parent.Name).Cells(ButtonGroup.TopLeftCell.Row, ButtonGroup.TopLeftCell.Column) = "Done"
End Sub
Normal Module
Dim Buttons() As New Class1
Sub Class_Init()
Dim Sh As Worksheet
Dim Obj As OLEObject
Dim ButtonCount As Integer
For Each Sh In ThisWorkbook.Worksheets
For Each Obj In Sh.OLEObjects
If TypeName(Obj.Object) = "CommandButton" Then
ButtonCount = ButtonCount + 1
ReDim Preserve Buttons(1 To ButtonCount)
Set Buttons(ButtonCount).ButtonGroup = Obj.Object
End If
Next Obj
Next Sh
End Sub