Summe einer Zelle in allen(!) Blättern

Bild

Betrifft: Summe einer Zelle in allen(!) Blättern von: Roland
Geschrieben am: 07.02.2005 10:29:54

Hallo hier!

Habe das Wochenende an einem Problem gesessen und keine Lösung gefunden. Ich benötige einen Code, der mir eine Zelle (z.B. "A1") über alle Blätter addiert (d.h. "A1" aus jedem Blatt sumiert).

Der Knackpunkt ist, daß Tabellenblätter hinzugefügt werden können sollen, d.h. die Anzahl ist vorher nicht klar.

Ich habe eine Funktion geschrieben, die die Zelle als Range übergeben bekommt (irgendwann aus Verzweiflung gelöscht, sonst stünde es hier...), und dann mit worksheet(i).range... alles adiert und als Rückgabewert an das aufrufende Blatt liefert.

Alles toll, nur daß bei dieser Methode Excel nicht blickt, daß sich z.B. eine Änderung in Tabelle4 auch auf die Zelle in sagen wir Tabelle1 auswirkt, die meine Funktion aufruft. D.h. bei Änderung in Tabelle4 wird Tabelle1 nicht neu berechnet (was erforderlich wäre). Mit Calculate verstrickt man sich (da ich die Funktion in jeder Tabelle verwenden will) immer weiter in irgendwelche Rekursionen, dadurch daß jeder Calculate-Aufruf wieder viele neue verursacht.

Irgendwie scheint mir der ganze Ansatz falsch...

Weiß jemand Rat?

Bild


Betrifft: AW: Summe einer Zelle in allen(!) Blättern von: Jan
Geschrieben am: 07.02.2005 10:36:58

Hi Roland,

Wie sieht denn Dein bisheriger Code aus? Hast Du eine Ereignisprozedur definiert?
Poste mal ein Beispiel!


jan


Bild


Betrifft: AW: Summe einer Zelle in allen(!) Blättern von: Roland
Geschrieben am: 07.02.2005 15:52:15

Nein, ich habe es im Abschnitt "Module" in "Modul1" abgelegt, als "Function". Code leider wie gesagt gelöscht (Verzweiflungstat), wurde aber eben bei der Berechnung des Blattes aufgerufen in dem die Formel stand, nicht aber, wenn eines der Blätter geändert wrude, die von der Formel summiert werden.

Anyway, ich glaube ich verzichte auf beliebige Blattzahl und verwende Summe().

Vielen Dank!


Bild


Betrifft: AW: Summe einer Zelle in allen(!) Blättern von: Dr.
Geschrieben am: 07.02.2005 10:39:37

Summiert alle A1 in den Blättern 2 bis letztes Blatt:

Sub test()
For i = 2 To Worksheets.Count
Sheets(1).Range("A1").Value = Sheets(1).Range("A1").Value + Sheets(i).Range("A1").Value
Next i
End Sub



Bild


Betrifft: AW: Summe einer Zelle in allen(!) Blättern von: Roland
Geschrieben am: 07.02.2005 15:54:11

Vielen Dank!
So sah mein Code in etwa auch aus... nur, was passiert ist eben, wenn ich diesen Code in Tabelle 1 in einer Formel als Funktion aufrufe, diese Funktion dann Werte aus Blatt 2 aufsumiert, fehlt die automatische Aktualisierung auf Blatt 1 bei Benutzereingaben auf Blatt 2...

Aber Danke für die Mühe!


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Verknüpfung zu externen Daten entfernen"