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

问题描述 投票:1回答:2

我正在寻找一种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
vba excel-vba excel
2个回答
0
投票

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

  • 添加虚拟表
  • 在此虚拟表]中的单元格中,添加一个公式,例如=SUBTOTAL(103,Sheet1!A1:A10),其中此范围是您的numcase范围
  • 将此代码添加到工作表代码中(右键单击工作表标签...。查看代码...粘贴
  • ]
  • 更新代码以执行所需的操作
  • code

'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

0
投票

我纠正自己……即使那样也没有。。

[当Excel折叠时,看起来好像Excel正在删除包含格式的单元格。我设置了数据透视表条件,使其没有数据(只有标头),然后为下面的行设置了条件格式。->看起来不错。

© www.soinside.com 2019 - 2024. All rights reserved.