由工作表重新计算触发的VBA事件

时间:2014-04-18 17:49:32

标签: vba excel-vba excel

我正在寻找一种VBA方法,通过工作表重新计算来激活excel中的事件。以下代码仅在手动输入单元格时有效。我需要在特定单元格重新计算后触发事件。有什么想法吗?

Private Sub Worksheet_Change(ByVal target As Range)
    If target.Address = Range("numcase").Address Then
        Dim Diagram As String
        numcase = Range("numcase").Value
        Diagram = numcase & "case"
        ActiveSheet.Shapes(Diagram).ZOrder (msoBringToFront)
    End If
End Sub

1 个答案:

答案 0 :(得分:0)

我之前用来将更改捕获到已过滤列表的简单解决方法也可以使用

  • 添加虚拟表
  • 在此虚拟表的单元格中,添加=SUBTOTAL(103,Sheet1!A1:A10)这样的公式,其范围为numcase范围
  • 将此代码添加到工作表代码中(右键单击工作表选项卡....查看代码...粘贴
  • 更新代码以执行您需要的操作

'Dummy sheet code
Private Sub Worksheet_Calculate()
'Your range has been changed
    MsgBox "Your range has been changed"
' rest of your code from above
End Sub