VBA 使用右键 click/left 单击功能更改多个单元格中的添加值的代码

VBA code to change add value in multiple cells with right click/left click function

我是 Excel 的新手,我有一个包含多个命令按钮的工作表。我想知道我是否可以通过左键单击(正常)和右键单击来为多个单元格添加值。

例如,如果我左键单击命令按钮,它会向单元格 A1 添加 (+1),但如果我右键单击同一个命令按钮,它会向单元格添加 (+1) B1.

这是我在进行正常左键单击时必须添加 (+1) 的代码:

Sub Action68_Click()
    'update column BR by adding 1 to the cell value'
    Worksheets("Stats").Cells(CurrentPlayerRow, "BR").Value = Worksheets("Stats").Cells(CurrentPlayerRow, "BR").Value + 1
End Sub`

有没有使用右键单击按钮向单元格BQ添加(+1)的方法?

您可以使用事件代码来获得所需的输出,而不是使用按钮。

两个这样的事件是双击事件和右键单击事件。

例如

  1. 如果您双击 列 BR 中从第 2 行开始的任何单元格,它将将该单元格递增 1。
  2. 如果您右键单击 从第 2 行开始的 BR 列中的任何单元格,它会将 BS 列中的相应单元格递增 1。

如果您认为可以使用这种方法,请将以下代码放在 Sheet 模块上,然后右键单击 Sheet 选项卡 --> 查看代码并粘贴下面给出的代码进入打开的代码 window.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim oval
If Target.Column = Range("BR1").Column And Target.Row > 1 Then
    Cancel = True
    oval = Target.Value
    If IsNumeric(oval) Then
        Target.Value = oval + 1
    End If
End If
End Sub

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim oval
If Target.Column = Range("BR1").Column And Target.Row > 1 Then
    Cancel = True
    oval = Target.Offset(0, 1).Value
    If IsNumeric(oval) Then
        Target.Offset(0, 1).Value = oval + 1
    End If
End If
End Sub