除了非常基本的Excel功能之外,我都很陌生。我正在尝试构建一个简单的电子表格,以帮助保持体育赛事的统计数据。我想要有一个按钮,我可以点击它,然后将一个(数值)添加到第二个工作表中的相应单元格。我发现这个代码可以完成我想要的第一张纸上的单个按钮和第二张纸上的单个单元格:
Sub Player_Pass()
Sheets("Sheets").Range("C4").Value = Sheets("Stats").Range("C4").Value + 1
End Sub
但我有大约100个按钮,似乎为每个按钮创建一个具有不同名称和不同参数的单独模块并不是最优雅的解决方案。任何建议将不胜感激。
答案 0 :(得分:0)
您可以将所有按钮分配到公共宏,然后使用Application.Caller
来确定要采取的操作
Sub ButtonClicked()
Dim ac
ac = Application.Caller
Debug.Print ac, ActiveSheet.Shapes(ac).TopLeftCell.Address()
'do some action according to which button was clicked...
End Sub
答案 1 :(得分:0)
试试这个
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo exitSub
With Target
If .Column = 1 Then
If .Row < 4 Then Exit Sub
Sheets("Stats").Range("C" & .Row).Value = Sheets("Stats").Range("C" & .Row).Value + 1
.Offset(0, 3).value = Sheets("Stats").Range("C" & .Row).Value
.Offset(0, 1).Select
End If
End With
exitSub:
End Sub
将其放入“表格”工作表
这会将第1列单元格大于第3行转换为增加stat
的按钮只需修改列号和行号以定位虚拟按钮