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

时间:2017-09-23 01:47:27

标签: excel vba commandbutton

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

例如,如果我左键单击命令按钮,它会向单元格A1添加一个(+1),但是如果我右键单击相同的命令按钮,它会向单元格{{添加一个(+1) 1}}。

以下是我执行正常左键单击时必须添加的代码(+1):

B1

是否有使用右键单击按钮向单元格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` 添加(+1)?

1 个答案:

答案 0 :(得分:0)

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

两个此类活动将是双击活动和右键点击活动。

e.g。

  1. 如果您从Row2开始在BR列中的任何单元格中双击,它会将该单元格增加1。
  2. 如果您从Row2开始在BR列中的任何单元格中右键单击,它会将BS列中的相应单元格增加1。
  3. 如果您认为可以使用此方法,请将以下代码放在“图纸模块”上并执行此操作,右键单击“工作表”选项卡 - >查看代码并将下面给出的代码粘贴到打开的代码窗口中。

    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