Excel 那里';[SheetName][PivotTableName]中已存在数据;。你想更换它吗?

Excel 那里';[SheetName][PivotTableName]中已存在数据;。你想更换它吗?,excel,vba,Excel,Vba,我正在使用Excel 2016模板,其中包含数据透视表、数据透视图和仪表板,在仪表板中,我根据各种选择和过滤器动态更新数据。每当我打开报告(Excel文件)的新版本时,每个图表都会收到以下消息: [SheetName][PivotTableName]中已存在数据。是否替换它 我浏览过互联网,发现两种不同的解决方案都不起作用 我试图创建一个宏来禁用消息,然后 刷新了所有数据。我使用了以下VBA代码位来禁用消息,但它没有按预期工作: Applictaion.DisplayAlerts = false

我正在使用Excel 2016模板,其中包含数据透视表、数据透视图和仪表板,在仪表板中,我根据各种选择和过滤器动态更新数据。每当我打开报告(Excel文件)的新版本时,每个图表都会收到以下消息:

[SheetName][PivotTableName]中已存在数据。是否替换它

我浏览过互联网,发现两种不同的解决方案都不起作用

  • 我试图创建一个宏来禁用消息,然后 刷新了所有数据。我使用了以下VBA代码位来禁用消息,但它没有按预期工作:

    Applictaion.DisplayAlerts = false
    
  • 我进入了我试图禁用的Excel高级选项 “覆盖单元格前发出警报”的设置。这无法解决此问题 我和我的问题,我请一位同事也在他的机器上试一试 他也得到了同样的信息


  • 有人知道如何禁止弹出此消息吗?

    此外,对于您的第一个解决方案:

  • 在弹出警告的代码之前使用:
  • Application.DisplayAlerts=False

  • 代码完成后,再次启用alrert模式:

  • Application.DisplayAlerts=True

    '还有其他事件可以在反编码之前禁用,在编码之后启用,以提高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
    

    欢迎使用Stack Overflow!请浏览、和部分,了解此网站的工作原理,并帮助您改进当前和未来的问题,这可以帮助您获得更好的答案。