使用鼠标右键/左键单击function,在多个单元格中更改添加值的VBA代码

我是新来的Excel和我有一个工作表与几个命令button。 我想知道是否可以通过左击(正常)和右击来为多个单元格添加值。

例如,如果我离开单击命令button,它将向单元格A1添加(+ 1),但如果我右键单击相同的命令button,它将向单元格B1添加(+1)。

这里是我正常左键单击时必须添加的代码(+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` 

有没有反正使用右键单击button来添加(+1)单元格BQ

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

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

例如

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

如果你认为,你可以使用这种方法,将下面的代码放在图纸模块上,然后右键单击工作表选项 – >查看代码,并将下面给出的代码粘贴到打开的代码窗口中。

 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