Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1960to1964
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mehrere Tabellenblätter gleichzeitig:Warum Calculate nicht?

Mehrere Tabellenblätter gleichzeitig:Warum Calculate nicht?
01.02.2024 14:21:54
Frank Dreier
Hallo Leute,

bin auf Folgendes bei Excel gestoßen:

um schneller in vielen Tabellenblättern etwas gleichzeitig zu ändern kann man ja z.B. Folgendes machen:

Sheets(Array("Tabelle1", "Tabelle2", "Tabelle3")).Select
Range("A1:B10").Select
Selection.ClearContents

Warum um alles in der Welt funktioniert das wieder nicht mit Selection.Calculate?
Kriege immer diesen Fehler:
"Die Calculate-Methode des Range-Objektes konnte nicht ausgeführt werden." (habe keine gesperrten/leeren Zellen etc.)

Entferne ich die Selektierung des Arrays funktioniert auch Selection.Calculate ganz normal,- aber eben immer nur auf das Tabellenblatt indem man sich gerade befindet.

FRAGE: Gibt es eine Möglichkeit eine Range zu Kalkulieren über mehrer Tabellenblätter gleichzeitig durch Selektierung mehrerer Tabellenblätter gleichzeitig?
Für einzelne Tabellenblätter funktioniert z.B (-leider geht das auch nicht wenn mehrere Tabellenblätter selektiert sind).
Range("A:B").Calculate

Wie geht das für mehrere gleichzeitig?

Excel macht mich manchmal fertig... ;)



6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Tabellenblätter gleichzeitig:Warum Calculate nicht?
01.02.2024 15:02:04
onur
Und warum nicht ALLES neu berechnen?
Onur...
01.02.2024 15:37:41
Frank Dreier
Hallo Onur,

ich finde Deine Beiträge nicht besonders hilfreich. Mir ist das auch schon bei anderen Usern aufgefallen. Du hast mir glaube einmal von ca. 8 Antworten geholfen und sonst eher provoziert. Ich weiß nicht warum Du das machst, aber Du solltest mal darüber nachdenken.

Um Deine Frage zu beantworten: Weil die Berechnung zu lange dauert und das solltest Du eigentlich wissen. Excel verarbeitet im Hintergrund noch Daten die für die Zell-Berechnung irrelevant sind (zumindest in Teilschritten wie bei mir). Wenn ich einzelne Ranges berechne ist Excel bis zu 4 mal schneller, -habe ich gemessen.
Das Problem dabei ist, dass durch den Switch in andere Tabellenblätter die Berechnungen der Ranges wieder neu gemacht werden müssen und damit verpufft dieser Vorteil der Range-Berechnung (da diese dann z.B. bei 4 Tabellenblättern 4 mal durchgführt werden müssten, daher die Frage ob man Ranges über mehrere Tabellenblätter anwählen kann und kalkulieren kann. die Funktion Calculate scheint das aber nicht zu können.).

Also hast Du dafür eine Lösung oder nicht? Nix für ungut.
Anzeige
AW: Onur...
01.02.2024 15:45:40
onur
Hallo ? Geht es noch ?
"Weil die Berechnung zu lange dauert und das solltest Du eigentlich wissen. " ???
Woher soll ICH das wissen ? Kenne ich etwa DEINE Datei? Oder deine Formelkünste? Oder deinen Rechner?
Wenn dein Rechner so alt ist wie deine Excel-Version, dann kann ich es verstehen.
Reagiere mal nicht so arrogant, wenn man dir lästige Fragen stellt. Du bist nicht das Zentrum dieser Welt.
AW: Onur...
01.02.2024 21:42:44
onur
Aber nochmal zu deiner Frage:
Nein, es geht nicht, dass die Blätter/Bereiche "gleichzeitig" berechnet werden können, da Excel das nicht zulässt.
Das Einzige, was ginge, wäre nacheinander - so wie das hier:
    Sheets("Tabelle1").Range("B3:C3").Calculate

Sheets("Tabelle2").Range("B3:C3").Calculate
Sheets("Tabelle3").Range("B3:C3").Calculate
Anzeige
AW: Onur...
01.02.2024 21:47:03
Yal
Hallo Frank,

die Frage "warum nicht alles neuberechnen" ist nicht ganz abwägig. Es geht hier ein klassische Checkliste nachzugehen. Genauso geht auch jeder Arzt vor und wir sind dafür dankbar. Alle Information, die Du nicht gibst, müssen/dürfen nachgefragt werden.

Nun zur Sache: das 3-dimensionales Selektieren in Excel ist eine nicht zu Ende gedachte Funktion. Es funktioniert, wie es will und ist spärlich dokumentiert, was für mich ein Zeichen, dass MS nicht so ganz dahinter steht. Es lohnt sich nicht an der Stelle sich fertig zu machen.

Wenn die Zelle in den selektierten Bereiche A1:B10 keine Abhängigkeit zueinander haben (wenn so wäre, müsste man das Performance-Problem auf Netzwerk Layer 8 gesucht werden), dann geht es auch die Blätter nacheinander zu berechnen.

So ein Code ist auch "schön":
Dim WsName As Worksheet

For Each WsName In Array("Tabelle1", "Tabelle2")
Worksheets(WsName).Range("A1:B10").Calculate
Next


Und Dein Problem mit Onur ist es eben dein Problem. Es gibt vielen, und nicht alle eingehenden Diplomaten, die sich aus dem scheinbar schroffen Umgang von Onur nichts ausmachen und von ihm sehr gute Unterstützung rausholen. Und das ist die wahre Kunst der Kommunikation.

VG
Yal


Anzeige
AW: Onur...
01.02.2024 15:59:08
onur
Nur zur Info: Ich habe in meinem Leben wohl schon zogtausende Excel-Dateien erstellt, darunter auch viele sehr komplexe, aber keine dieser Dateien war so, dass ich Angst gehabt hätte, ALLES neu berechnen zu lassen, weil es zu lange gedauert hätte.
Ganz im Gegenteil: Ich habe oft für andere Leute für gutes Geld deren Exceldateien optimieren müssen, damit die Berechnungen nicht mehr so lange dauern.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige