使用鼠标右键/左键单击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。
这两个事件将是双击事件和右键单击事件。
例如
- 如果双击从列2开始的列BR中的任何单元格,则会将该单元格递增1。
- 如果右键单击从列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