Hallo bubeldu,
Hier mal ein paar Ideen. Vielleicht sind sie ja nützlich bei der Fehlersuche.
Es ist natürlich sehr schwer eine Ferndiagnose zu treffen ohne den Code zu kennen. Du solltest daher zumindest versuchen die entsprechende Codezeile ausfindig zu machen, bei der der Wechsel zum anderen Arbeitsblatt auftritt. Meistens ist das irgendein Select oder Activate Befehl. Am besten benutzt du die Such-Maske (STRG+F) zur Suche nach diesem Wort. Verwende dazu die Option "Suche in aktuellem Projekt".
Select-Befehle sollte man im Code möglichst vermeiden. Alle Eigenschaften lassen sich den entsprechenden Zellen auch direkt zuordnen. Und genau hier liegt der Hase im Pfeffer. Oft wird einfach nur ein Befehl wie Range("A1:D5").Value = 5 verwendet. Dabei wird gern übersehen, dass sich dieser Bereich immer auf das aktive Tabellenblatt bezieht. Um auf den korrekten Bereich eines anderen Blatts zuzugreifen, sollte man stattdessen einem Range() oder Cells()-Objekt das entsprechende Tabellenblatt voranstellen. z.B. Sheets("Tabelle1").Range("A1:D5").value = 5
zu deiner Aussage:
"Die Berechnungen auf den jeweiligen Blättern wird dabei durch klicken auf eine gewöhnliche Form ausgelöst, der ein Makro zugewiesen ist (ich nenne diese Form im weiteren mal ""Aktualisieren"-Button"). Und genau hier tritt mein Problem auf."
Falls das Problem beim Berechnen auftritt kannst du nicht aktive Blätter auch mit einem Befehl wie Sheets("Tabelle1").Calculate berechnen.
Um Makros dieser Sheets von anderer Stelle im Code direkt aufzurufen ändere das Schlüsselwort Private in Public.
Mich verwirrt allerdings, deine Aussage: "Ich nutze Office365, unter Excel 2016 und 2013: gleiches Problem. Unter Excel 2010: funktioniert wunderbar..."
Leider kann ich über das Verhalten von Excel 2013 und 2016 nichts näheres sagen, da ich nur Erfahrung mit Versionen bis 2010 habe.
Manchmal verhält sich Excel tatsächlich auch innerhalb einer Codezeile von Version zu Version unterschiedlich. Im Lauf der Jahre habe ich da schon einige Bugs entdeckt. Auch die Microsoft-Programmierer sind leider nicht unfehlbar. Allerdings treten solche Bugs nur bei sehr selten genutzten Funktionen auf, so dass sie im Alltag eigentlich keine Rolle spielen.
Vielleicht findest du ja im Einzelschritt doch irgendwann den Grund für den Blattwechsel. Dann können wir weiterreden.
Gruß Mr. K.
|