我在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?
答案 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
将代码添加到: