如何针对任何数据透视表更新禁止Excel消息?

时间:2014-02-17 16:50:44

标签: excel vba excel-vba

我创建了一个数据透视表来汇总一些信息,并在数据透视表旁边添加了一些公式来计算其中包含的数字。我创建了一个宏,只要用户通过显示或隐藏各种行/列数据来更改数据透视表的大小(在PivotTableUpdate事件中),就会重新输入公式。

我的问题是每当数据列添加到数据透视表时,它都会问我“你想替换目标单元格的内容吗?”我总是单击是,因为虽然在数据透视表扩展时将覆盖单元格,但公式将在正确的单元格中重新输入,所有内容都由宏修复并正确格式化。

因此,我想知道在哪里放置application.displayalerts = false,以便在用户扩展数据透视表时抑制消息框是有效的。

2 个答案:

答案 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