シート B を削除しながら、シート B のデータを呼び出す数式をシート A に残すにはどうすればよいでしょうか?

シート B を削除しながら、シート B のデータを呼び出す数式をシート A に残すにはどうすればよいでしょうか?

私は、Excel にデータを自動的に入力し、それを PDF としてエクスポートする Python スクリプトを作成しています。実行するたびに、別のソフトウェアから出力されたデータで満たされた 5 つの新しい Excel シートが作成され、そこに書き込まれます。これらのシートをシート b、c、d、e、f と考えてください。シート A は、これらの他のシートからデータを呼び出すシートです。

Excel ワークブックにシート A だけを残し、そのセルにたとえば '=sheetB!H4' を残しておきたいと思います。次に、Python スクリプトを実行すると、シート B が作成され、シート A が呼び出すことができるデータが入力されます。問題は、これらのシート BF を削除すると、メイン シート A の数式も削除されることです。メイン シートだけを残し、シート A の数式を他のシートに呼び出すようにすることは可能ですか。

わかりにくくて申し訳ありません。ご質問があればお知らせください。よろしくお願いします。

答え1

INDIRECT を使用する:

=INDIRECT("sheetB!H4")

これにより、シートが削除されてもシート参照が保持されます。その後、同じ名前で新しいシートを配置すると、正しく解決されます。

欠点は、INDIRECT は不安定で、Excel が変更されるたびに計算が行われることです。そのため、ページをロードしている間は自動計算をオフにし、ロード後にオンに戻してください。

関連情報