![如何删除工作表 B,但保留工作表 A 上调用工作表 B 数据的公式?](https://linux22.com/image/1618649/%E5%A6%82%E4%BD%95%E5%88%A0%E9%99%A4%E5%B7%A5%E4%BD%9C%E8%A1%A8%20B%EF%BC%8C%E4%BD%86%E4%BF%9D%E7%95%99%E5%B7%A5%E4%BD%9C%E8%A1%A8%20A%20%E4%B8%8A%E8%B0%83%E7%94%A8%E5%B7%A5%E4%BD%9C%E8%A1%A8%20B%20%E6%95%B0%E6%8D%AE%E7%9A%84%E5%85%AC%E5%BC%8F%EF%BC%9F.png)
我正在创建一个 Python 脚本,它将自动将数据填充到 Excel 并将其导出为 PDF。每次运行时,它都会创建并写入 5 个新的 Excel 表,其中包含从单独软件输出的数据。将这些表视为表 b、c、d、e 和 f。表 A 是从这些其他表调用数据的表。
我希望 excel 工作簿只包含 Sheet A,但其单元格仍包含例如 '=sheetB!H4'。然后,当 python 脚本运行时,它将创建 sheetb 并填充 Sheet A 可以调用的数据。我的问题是,当我删除这些 sheet bf 时,它还会删除主 sheet a 中的公式。我是否可以只保留主 sheet,但仍保留 Sheet A 中调用其他 sheet 的公式。
抱歉,如果这让您感到困惑,请告诉我如果您有任何疑问。提前谢谢您。
答案1
使用间接:
=INDIRECT("sheetB!H4")
即使工作表被删除,此操作也会保留工作表引用。然后,当放置具有相同名称的新工作表时,它将正确解析。
缺点是 INDIRECT 不稳定,每次 Excel 发生变化时都会计算。因此,请在加载页面时关闭自动计算,之后再重新打开。