Ich erstelle ein Python-Skript, das automatisch Daten in Excel einträgt und als PDF exportiert. Bei jeder Ausführung erstellt und schreibt es in 5 neue Excel-Tabellen, die mit Daten gefüllt sind, die von einer separaten Software ausgegeben werden. Stellen Sie sich diese Tabellen als Tabellen b, c, d, e und f vor. Tabellenblatt A ist dasjenige, das Daten aus diesen anderen Tabellenblättern abruft.
Ich möchte, dass die Excel-Arbeitsmappe nur Blatt A enthält, die Zellen aber beispielsweise immer noch „=BlattB!H4“ enthalten. Wenn das Python-Skript dann ausgeführt wird, erstellt es das Blatt B und füllt die Daten aus, die Blatt A abrufen kann. Mein Problem ist, dass beim Löschen dieser Blätter B F auch die Formel in meinem Hauptblatt A gelöscht wird. Ist es möglich, dass ich nur mein Hauptblatt habe, aber trotzdem die Formeln in Blatt A habe, die die anderen Blätter aufrufen?
Entschuldigen Sie, wenn das verwirrend ist. Wenn Sie Fragen haben, lassen Sie es mich wissen. Vielen Dank im Voraus.
Antwort1
Verwenden Sie INDIREKT:
=INDIRECT("sheetB!H4")
Dadurch bleibt die Blattreferenz erhalten, auch wenn das Blatt gelöscht wird. Wenn dann das neue Blatt mit demselben Namen eingefügt wird, wird es korrekt aufgelöst.
Der Nachteil besteht darin, dass INDIRECT volatil ist und bei jeder Änderung in Excel berechnet wird. Schalten Sie daher die automatischen Berechnungen aus, während Sie die Seiten laden, und schalten Sie sie danach wieder ein.