事件依赖于具有公式的细胞

时间:2017-12-12 10:51:06

标签: excel vba excel-vba

我在VBA很新,这就是为什么我会在这里问一个问题:

我有一个报告,设置为更改正确的标题字体,大小和内容,所有这些都取决于单元格值,如果我更改另一个单元格的值,它会更新。问题是,它所依赖的单元格取决于公式,该公式由时间线切片器控制。

切片器确定某个数据透视表的周期,更改的单元格占用此期间的最大日期(Cell称为“EndDate”)。由此,具有标题输入的单元格显示当前季度(Cell称为“ReportNo”)。

我现在的代码如下:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Application.Intersect(Target, Me.Range("EndPeriod")) Is Nothing Then

        ThisWorkbook.Worksheets("Report").PageSetup.RightHeader = "&28" & Me.Range("ReportNo").Text

    End If

End Sub

有没有办法,当公式依赖单元格中的单元格值发生变化时,我可以让工作表运行VBA?

我试图将线程的第一个答案添加到代码中: enter image description here

1 个答案:

答案 0 :(得分:0)

这样的事情怎么样:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("EndPeriod").Address Then 'if something changes on ReportNo
Call yourmacro 'call your vba macro
End If
End Sub

Sub yourmacro()
    ThisWorkbook.Worksheets("Report").PageSetup.RightHeader = "&28" & Me.Range("ReportNo").Text
End Sub

将代码添加到:

enter image description here