Erstelle ein neues, leeres Tabellenblatt und benenne das als 'Stop' und ziehe das Tabellenblatt direkt hinter das Tabelleblatt W35. Ersetze in deiner Formel das W35 durch Stop und ziehe dann einfach jede Woche das nächste Tabellenblatt vor das Tabellenblatt Stop.
Danke Peter für deinen Lösungsvorschlag. So wie ich den Fall geschildert habe ist diese Lösung simpel und funktioniert. Doch habe ich mich missverständlich ausgedrückt oder zu wenig Infos geliefert.
- Das File existiert komplett (52 Tabellenblätter mit je einer Woche). Diese wird von meinen Kollegen gepflegt, die noch weniger Ahnung von Excel haben als ich. Excel sollte auch gegen Ende des Schuljahres die vergangen Wochen korrekt berechnen. Dies gelingt nicht, wenn das STOP-Blatt jede Woche nach hinten rückt.
Gibt es eine Möglichkeit, dass ich der Formel klarmachen kann, dass sie immer bis zum aktuellen Datenblatt rechnet. Ich las, etwas von intelligenten Formeln mit eckigen Klammern des aktuellen Datenblattes. Nur funktionieren alle meine Versuche nicht. Ich habe zusätzliche Formeln einfügen müssen und sollte eben diese auf die Präsenzlisten für sechs Klssen fertigen. Von Hand ein riesen Aufwand.
Danke MisterBurns für deinen Hinweis und danke, dass du mir trotz meines nicht sehr anständigen Verhaltens noch schreibst.
Zitat:er hat das Wort ... LETZTE zu schreiben vergessen.
Eigentlich nicht, ich war der Meinung, dass
Zitat:und ziehe das Tabellenblatt direkt hinter das Tabelleblatt W35. Ersetze in deiner Formel das W35 durch Stop und ziehe dann einfach jede Woche das nächste Tabellenblatt vor das Tabellenblatt Stop.
das Vorgehen richtig beschreibt.
Aber anscheinend war das nicht klar genug ausgedrückt.
Zitat: Dies gelingt nicht, wenn das STOP-Blatt jede Woche nach hinten rückt.
und warum nicht?
Hier eine kleine Beispielsdatei. Vielleicht habe ich die Vorgehensweise nicht verständlich beschrieben.
In der Beispielsdatei steht in jedem Tabellenblatt der Wert 1 in A1. im Tabellenblatt Stop steht zuätlzich die Formel =SUMME(Tabelle1:Stop!A1) in C1.
Die Position des Tabellenblattes Stop gibt an welche Tabellenblätter in die Summenformel mit einbezogen werden.
Ich würde sogar noch einen Schritt weiter gehen als Peter. Das Blatt "Stop" kann ja auch leer bleiben und ausgeblendet werden. Es ist dann nur als unsichtbarer Helfer da. Mit diesem Code im Modul DieseArbeitsmappe wird das Blatt immer automatisch an die Position hinter dem aktiven Tabellenblatt verschoben. Somit ist die Berechnung in jedem Blatt korrekt und der Anwender muss nichts weiter dafür tun.
Code:
Private WithEvents appMyXL As Application
Private Sub Workbook_Open() Set appMyXL = Application End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean) Set appMyXL = Nothing End Sub
Private Sub appMyXL_SheetActivate(ByVal Sh As Object) Sheets("Stop").Move After:=ActiveSheet End Sub