我创建了一个数据透视表来汇总一些信息,并在数据透视表旁边添加了一些公式来计算其中包含的数字。我创建了一个宏,只要用户通过显示或隐藏各种行/列数据来更改数据透视表的大小(在PivotTableUpdate事件中),就会重新输入公式。
我的问题是每当数据列添加到数据透视表时,它都会问我“你想替换目标单元格的内容吗?”我总是单击是,因为虽然在数据透视表扩展时将覆盖单元格,但公式将在正确的单元格中重新输入,所有内容都由宏修复并正确格式化。
因此,我想知道在哪里放置application.displayalerts = false
,以便在用户扩展数据透视表时抑制消息框是有效的。
答案 0 :(得分:0)
嗨tlewis3348我认为这就是你要找的东西
Sub UpdateIt()
Dim iP As Integer
Application.DisplayAlerts = False
For iP = 1 To ActiveSheet.PivotTables.Count
ActiveSheet.PivotTables(iP).RefreshTable
Next
Application.DisplayAlerts = True
End Sub
答案 1 :(得分:0)
FWIW这个解决方案对我很有帮助。我只是单独激活每个工作表并在执行任何其他操作之前调用UpdateIt函数,例如,
Worksheets("RFS Monthly Summary").Activate
UpdateIt
Worksheets("RFS Daily Activity").Activate
UpdateIt