Microsoft Excel

Herbers Excel/VBA-Archiv

Automatisches Formel-Update verhindern

Betrifft: Automatisches Formel-Update verhindern von: MarkusH
Geschrieben am: 28.08.2004 12:45:23

Hallo,

ich stehe hier vor einem schier unlösbaren Problem und bitte um Eure Hilfe:
ich habe in einer Excel-Datei mehrere Blätter mit Monatswerten, die in einem "Quartals-Sheet" rollierend zusammengefaßt werden sollen. Also aktueller Monat, letzter Monat und vorletzter Monat.
Ist der aktuelle Monat zu Ende, möchte ich das Blatt des vorletzten Monats löschen, das Blatt letzter Monat zu vorletzter Monat umbenennen und ein neues Blatt aktueller Monat mit einem vordefinierten Layout per Makro erstellen.
Das klappt so weit auch, nur "erkennt" Excel das und passt die Formeln, die in dem Quartalssheet stehen, an.
Gibt es eine Möglichkeit, dies zu verhindern? Leider bin ich weder durch die VBA-Hilfe noch durch Suchen hier im Forum schlauer geworden...

Vielen Dank!
Gruß,
Markus

  


Betrifft: AW: Automatisches Formel-Update verhindern von: DieterB
Geschrieben am: 28.08.2004 14:52:11

Hallo Markus,

versuche es mal mit
Extras, Optionen
und schalte die automatische Berechnung aus

Gruß

DieterB


  


Betrifft: AW: Automatisches Formel-Update verhindern von: MarkusH
Geschrieben am: 28.08.2004 15:29:02

Hallo DieterB,

vielen Dank, aber das klappt leider nicht! Wenn ich das Blatt mit dem vorletzten Monat lösche, bekomme ich einen #Bezug-Fehler. Wenn ich eines der Blätter umbenenne, aktualisiert Excel die Formeln in den Zellen des Quartalssheets, selbst wenn die Formelberechnung auf "manuell" steht!
Hat vielleicht noch jemand eine Idee? Bin für jeden Tipp dankbar!

Gruß,
Markus


  


Betrifft: AW: Automatisches Formel-Update verhindern von: DieterB
Geschrieben am: 28.08.2004 15:31:46

Hallo Markus,

wenn man jetzt den genauen Aufbau diener Mappe kennen würde.

gruß

DieterB


  


Betrifft: AW: Automatisches Formel-Update verhindern von: MarkusH
Geschrieben am: 28.08.2004 16:21:46

Hier mal ein (sehr triviales) Beispiel: https://www.herber.de/bbs/user/10251.xls
Natürlich ist die Datei wesentlich komplexer und bezieht sich auf einige Hundert Zellen, aber das Problem sollte mit o.a. Datei verdeutlicht werden.
Nochmal was ich im Prinzip vorhabe:
am Monatsende soll per Makro ein neues Blatt "aktueller Monat" erstellt und die vergangenen Monate umbenannt bzw. das älteste Blatt gelöscht werden.
Beispiel: aktueller Monat August, letzter Monat Juli, vorletzter Monat Juni. Im September ist der Juni uninteressant, der Juli wird zum vorletzten Monat, der August zum letzten Monat und der September ist der aktuelle Monat. Die Formeln im Quartalsblatt sollen sich aber nicht ändern, damit die teilweise komplexen Formeln nicht neu eingegeben werden müssen und im Quartalsblatt immer die Summen aus den letzten 3 Monaten stehen.
Das Arbeitsblatt des aktuellen Monats baue ich dann neu auf.
Da muss es doch eine Lösung für geben...


  


Betrifft: AW: Automatisches Formel-Update verhindern von: Andreas Emmert
Geschrieben am: 28.08.2004 18:30:09

Hi Markus,

ehrlich gesagt wüsste ich nicht wie ich das mit den Bordfunktionen von Excel lösen sollte, die einzig brauchbare Lösung aus meiner Sicht ist, dass man sich eine eigene Funktion baut, die einem ermöglicht sich unabhängig von der Arbeitsmappenstruktur zu bewegen. Ich habe dir exemplarisch einmal eine solche Lösung in deine Arbeitsmappe eingebaut. Du findest dort eine neue Funktion FLEXGET, bei der du zwei Variablen übergeben musst. Die erste ist das Arbeitsblatt aus dem du den Wert ziehen willst, die zweite die Zellbezeichnung (z.B. "A3"). Dann kannst gu wie in der Beispielmappe eine Eingabematrix erstellen und die Arbeitsblattnamen fix vorgeben und die Zellbereiche ebenfalls. Wenn du so vorgehst, kannst du grdstzl. Arbeitsblätter löschen und neue mit gleichen Namen einfügen ohne dass du Probleme mit dem #BEZUG-Fehler bekommst.

https://www.herber.de/bbs/user/10255.xls

Schau's dir mal an, und gib Bescheid, ob's dir geholfen hat, ok?

Grüße

Andreas


  


Betrifft: AW: Automatisches Formel-Update verhindern von: MarkusH
Geschrieben am: 28.08.2004 20:25:42

Hallo Andreas,

vielen Dank für Deinen Lösungsansatz!
Ich hatte ehrlich gesagt gehofft, dass es in VBA so eine Art "UpdateCellFormula"-Eigenschaft gibt bzw. einen mir unbekannten Shortcut, der das Aktualisieren von Formeln beim manuellen Löschen / Umbenennen von Arbeitsblättern verhindert.
Das Problem ist nämlich die Komplexität meiner Dateien, da ich die gleiche Datei für 15 unterschiedliche Regionen habe und diese eigentlich 12 Monate und zusätzlich noch (Summen-)Jahreswerte beinhalten. Die einzelnen Monatsblätter sind Grundlage für 8 verschiedene Auswertungen (mal 15 Regionen!) mit Vergleich zu Vorjahren...
Diesen Tipp hätte ich vor einigen Monaten brauchen können... Jetzt alles umzustellen würde mich wohl mehrere Wochen kosten =:-)
Ich habe ehrlich gesagt auch schon über eine "quick&dirty-Methode" nachgedacht, indem ich per Suchen&Ersetzen die Formeln ändere. Aber dazu müsste ich über ein separates Arbeitsblatt gehen, um das älteste Blatt löschen zu können ohne den Bezug-Fehler zu bekommen. Oder ich müsste die Formeln per Makro zuerst in Text umwandeln, dann stört sich Excel daran auch nicht. Problem nur: soweit ich weiß geht das in Zellformeln, nicht aber bei Diagrammen und PivotTables, oder lässt sich in einem Diagramm eine Datenreihe "temporär deaktivieren"?
Vielleicht gibt es ja doch noch etwas anderes?!

Gruß,
Markus


  


Betrifft: AW: Automatisches Formel-Update verhindern von: Andreas Emmert
Geschrieben am: 28.08.2004 22:43:14

Hi Markus,

eine Datenreihe lässt sich in einem Diagramm bzw. Pivot-Table meines Wissens nach nicht temporär deaktivieren. Aber mal ganz blöd gefragt, wieso gehst du das Problem nicht anders an. Soweit ich dich bisher verstanden habe, sind alle Tabellenblätter ja gleich strukturiert und weichen nur von den Inhalten, also den Daten bzw. Werten voneinander ab. Du könntest doch nun ein Makro schreiben, dass dir die Werte aus den Blätter jeweils in das Blatt des Vormonats kopiert, also z.B. Werte des aktuellen Monats aus "aktuell" in "letzter" kopieren. Das dürfte ja kein Problem sein, grdstzl. könnte man ggf. sogar einfach das komplette Blatt kopieren. Damit würdest du umgehen, dass du ein Arbeitsblatt löschen musst und dadurch auch den #BEZUG-Fehler vermeiden. Im Blatt "aktueller Monat" lässt du dann eben einfach per Makro die Eingabewerte löschen. Das dürfte nicht allzuschwer sein und sich auch relativ kurzfristig realisieren lassen.

Geht das, oder habe ich noch etwas nicht verstanden?

Grüße

Andreas


  


Betrifft: AW: Automatisches Formel-Update verhindern von: MarkusH
Geschrieben am: 28.08.2004 23:55:12

*hausichvordiestirn*
DAS ist die Lösung! Natürlich, einfach die einzelnen Werte umkopieren anstatt die gesamten Arbeitsblätter zu manipulieren!!! Da hätt ich eigentlich selbst drauf kommen müssen, aber ich hab vermutlich zu verbissen nach einer Lösung gesucht und war voll auf das Umbenennen der Blätter fixiert... =:-)

Vielen Dank Andreas!!! Damit hast Du mir den Sonntag gerettet...

Gruß und ein schönes Restwochenende,
Markus


 

Beiträge aus den Excel-Beispielen zum Thema "Automatisches Formel-Update verhindern"