工作表选择更改未触发

时间:2017-03-17 17:39:58

标签: excel vba excel-vba

我有一个启用Excel宏的文件。我的Module1中有3个方法/函数。

  1. Worksheet_SelectionChange
  2. 的button1_Click
  3. MyMacro
  4. 当我点击工作表中的按钮时,Button1会触发。从Button1_Click调用MyMacro时会触发。当我更改单元格或更改工作表时,我的Worksheet_SelectionChange方法不会触发。我想要一个退出单元格时触发的方法。我jave尝试了网上的各种样本。它们的样本中都有一个Worksheet_SelectionChange方法。当我离开牢房时,我该怎么做才能触发一个方法?这是我的代码:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.EnableEvents = True
    MsgBox "TEST"
    End Sub
    
    Sub Button1_Click()
    BR = ActiveSheet.Buttons(Application.Caller).TopLeftCell.Row
    COL = ActiveSheet.Buttons(Application.Caller).TopLeftCell.Column
    Dim FileName As String
    FileName = Worksheets("942").Range("A" + CStr(BR)).Value
    FileName = FileName & "_"
    Dim RandomNumber As Integer
    RandomNumber = Int((999 - 100 + 1) * Rnd + 100)
    Worksheets("942").Range("J" + CStr(BR)).Value = FileName
    MyMacro
    End Sub
    
    
    Private Sub MyMacro()
    MsgBox " I just left A2", 0, ""
    End Sub
    

1 个答案:

答案 0 :(得分:2)

您必须将Worksheet_SelectionChange子移动到工作表(模块)。只需右键单击选项卡,然后选择“查看代码”,这就应该是它。

那是因为Worksheet_SelectionChange对于每张表都可以不同。通过将其放在特定的纸张上,Excel知道偶数应该何时开火。

enter image description here