Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen über alle Arbeitsblätter summieren

Zellen über alle Arbeitsblätter summieren
Chris
Hallo Leute!
Ich hab wieder mal ein Problem: Ich will in einer Arbeitsmappe, die lauter gleiche Tabellenblätter enthält bestimmte Bereiche auswählen und die entsprechenden Zellen aufsummieren und auf dem ersten Tabellenblatt die Summen der einzelnen Zellen darstellen.
Ich habe es mit einem Makro viel zu umständlich gelöst,aber es funktioniert.Wer kann mir einen Tip geben,wie es einfacher geht? So dass ich nicht jede Zelle in einer Variablen speichern muss,sondern gleich einen ganzen Bereich nehmen kann?
Vielen Danks schonmal für eure Hilfe!
Chris
Makro-Code:

Sub SumUp()
Dim i As Integer
Dim W1, W2, W3, W4, W5, W6, W7, W8, W9, W10, W11, W12, _
W13, W14, W15 As Double
For i = 3 To Worksheets.Count
W1 = W1 + Worksheets(i).Range("E29")
W2 = W2 + Worksheets(i).Range("F29")
W3 = W3 + Worksheets(i).Range("G29")
W4 = W4 + Worksheets(i).Range("H29")
W5 = W5 + Worksheets(i).Range("I29")
W6 = W6 + Worksheets(i).Range("K29")
W7 = W7 + Worksheets(i).Range("E30")
W8 = W8 + Worksheets(i).Range("F30")
W9 = W9 + Worksheets(i).Range("G30")
W10 = W10 + Worksheets(i).Range("H30")
W11 = W11 + Worksheets(i).Range("I30")
W12 = W12 + Worksheets(i).Range("K30")
W13 = W13 + Worksheets(i).Range("E32")
W14 = W14 + Worksheets(i).Range("F32")
W15 = W15 + Worksheets(i).Range("G32")
Next
Range("E31") = W1
Range("F31") = W2
Range("G31") = W3
Range("H31") = W4
Range("I31") = W5
Range("K31") = W6
Range("E32") = W7
Range("F32") = W8
Range("G32") = W9
Range("H32") = W10
Range("I32") = W11
Range("K32") = W12
Range("E34") = W13
Range("F34") = W14
Range("G34") = W15
End Sub

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zellen über alle Arbeitsblätter summieren
16.04.2004 00:39:40
Matthias
Hallo Chris,
so was ähnliches hatte ich heute schon:
https://www.herber.de/forum/archiv/412to416/t413657.htm
bei Dir lediglich leich abgewandelt:
Function BlattSumme(z As String)
Dim ws As Worksheet
Dim s
s = 0
For Each ws In Sheets
'Blatt, in der die Formel steht, aussparen
If ws.Index >= 3 Then 'ab Blatt 3
s = s + ws.Range(z).Value
End If
Next ws
BlattSumme = s
End Function

und das nicht vergessen in DieseArbeitsmappe:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.CalculateFull
End Sub

Hoffe, das klappt schon so!
Gruß Matthias
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige