Excel DisplayAlerts奇怪的行为:“一个或多个无效的引用”的错误消息

我有一个Python脚本,使用Excel的COM接口从各种来源的数据填充Excel文件。 这是一个片段:

file=win32com.client.Dispatch("Excel.Application") #various manipulation goes here file.DisplayAlerts=False sheet.Delete() file.DisplayAlerts=True 

我需要删除其中一个表后填写所有内容,所以我closuresDisplayAlerts,所以它不要求我确认删除。 之后我想再打开,所以用户不会丢失数据。 但是,重新启动DisplayAlerts后,切换工作表会提示给我这样一条消息:“此工作表中的公式包含一个或多个无效的引用,请确认您的公式包含有效的path,工作簿,范围名称和单元格引用”。 我通常不会收到这个消息,我所有的公式都按预期工作。 我怎样才能避免这个消息?

我很确定这个消息与我的图表在数据范围内有很多#N / A值有关(所以点不能被绘制)。 但是我能做些什么来摆脱这些信息,为什么在这三行代码之后出现呢? 此外,只是closures再次切换DisplayAlerts不会提示消息:删除在此发挥作用。

另外,为什么这个消息不只是告诉你它在哪里看到一个问题,是否有一些很好的理由?

消息仅在纸张切换到第一次时出现,并且每次对图表范围进行编辑时都会返回。 此外,它不出现,如果我只是删除表没有closuresDisplayAlerts。