我正在使用带有数据透视表,数据透视表和仪表板的Excel 2016模板,我根据各种选择和过滤器动态更新数据。每当我打开报告的新版本(Excel文件)时,我都会为每个图表收到以下消息:
[SheetName] [PivotTableName]"中已有数据。你想替换它吗?
我浏览过互联网,我找到了两种不起作用的解决方案。
我尝试创建一个禁用消息的宏然后 刷新所有数据。我使用以下VBA代码来禁用消息,但它没有按预期工作:
Applictaion.DisplayAlerts = false
我进入了Excel尝试禁用的高级选项 在覆盖单元格之前设置"警报"。这没解决 我的问题,我也请求同事试试他的机器 他也得到了同样的信息。
是否有人知道如何禁用此消息?
答案 0 :(得分:2)
除了您的第一个解决方案:
Application.DisplayAlerts = False
Application.DisplayAlerts = True
答案 1 :(得分:0)
'在代码之前可以禁用其他事件,在代码之后启用它们以提高vba的性能。
'1。在弹出警告的代码之前,禁用所有:
Sub DisableAll()
Application.EnableEvents = False
Application.DisplayAlerts = False
Application.ScreenUpdating = False
For Each Worksheet In ActiveWorkbook.Worksheets
Worksheet.Unprotect Password:="your password"
Next
Exit Sub
End Sub
'2。代码完成后,再次启用所有事件,警报和受保护的工作表:
Sub EnableAll()
For Each Worksheet In ActiveWorkbook.Worksheets
Worksheet.Protect Password:="your password", DrawingObjects:=True, contents:=True, Scenarios:=True _
, UserInterfaceOnly:=True, AllowFiltering:=True
Next
Exit Sub
Application.EnableEvents = True
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub