通过按钮单击在第二个工作表中添加一个单元格

时间:2013-02-12 00:22:15

标签: button excel-vba vba excel

除了非常基本的Excel功能之外,我都很陌生。我正在尝试构建一个简单的电子表格,以帮助保持体育赛事的统计数据。我想要有一个按钮,我可以点击它,然后将一个(数值)添加到第二个工作表中的相应单元格。我发现这个代码可以完成我想要的第一张纸上的单个按钮和第二张纸上的单个单元格:

Sub Player_Pass()
Sheets("Sheets").Range("C4").Value = Sheets("Stats").Range("C4").Value + 1
End Sub

但我有大约100个按钮,似乎为每个按钮创建一个具有不同名称和不同参数的单独模块并不是最优雅的解决方案。任何建议将不胜感激。

2 个答案:

答案 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

的按钮

只需修改列号和行号以定位虚拟按钮