Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1572to1576
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

Summe bestimmter Tabellenblätter

Summe bestimmter Tabellenblätter
14.08.2017 09:36:31
Berndt
Hallo zusammen,
ich bin auf der Suche nach einer Summenformel.
Vll. könnt ihr mir helfen.

Hintergrund:

-Im Tabellenblatt "Eingabemaske" habe ich eine Tabelle mit Namen definiert (Name: "Mitarbeiterblätter").
-In dieser Tabelle Mitarbeiterblätter stehen Namen wie z.B. Herr A, Herr B, Frau C oder Werkstudent.
-Ein Makro erstellt im Vorfeld soviele Tabellenblätter wie Namen im der Tabelle Mitarbeiterblätter stehen
- Nach dem Makro habe ich also zu den Namen die passenden Tabellenblätter (z.B. Tabellenblatt "Herr A")

Frage:

-Meine Summenformel soll nun genau diese erstellten Tabellenblätter absuchen und dort jeweils die Zelle F5 addieren
Könnt ihr mir damit behilflich sein?
Gruß Berndt

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Summe bestimmter Tabellenblätter
14.08.2017 09:38:18
Hajo_Zi
Hallo Bernd,
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Der Name einer hochgeladenen Mappe wird im Beitrag automatisch angezeigt, sodass es bei Verwendung von aussagekräftigen Namen leichter fällt, sie später im Ablageordner wiederzufinden und sie gedanklich einem bestimmten Thema zuzuordnen. Namen wie Test, Mappe, Beispiel usw. sind so allgemein, dass eine Zuordnung zu einem Thema unmöglich gemacht wird.
benutze Indirekt()

Anzeige
AW: Summe bestimmter Tabellenblätter
14.08.2017 09:58:05
Robert
Hallo Berndt,
wenn das erste Mitarbeiter-Tabellenblatt "Herr A" heißt und das letzte "Werkstudent" erhälst Du die Summe mit =Summe('Herr A:Werkstudent'!F5) Gruß
Robert
das Problem...
14.08.2017 10:25:53
Berndt
...ist aber, damit mir freigestellt wird, was ich in die intelligente Tabelle eintrage.
Wenn ich dort aus Spaß "Müller" eintrage und als letztes z.B. "Schmidt", dann funktioniert die Formel nicht mehr. Denn diese sucht ja nach Herr A bzw. Werkstudent.
Also die Formel sollte schon die Tabellenblätter abarbeiten, welche in der intelligenten Tabelle eingetragen wurden.
AW: das Problem...
14.08.2017 10:27:14
Hajo_Zi
man sollte alle Beiträge lesen.
Gruß Hajo
Anzeige
AW: das Problem...
14.08.2017 10:31:11
SF
Hola,
dann setz vor alle Tabellenblätter ein Blatt mit dem Namen Start, hinter den Tabellenblättern ein Blatt mit dem Namen Stop.
=summe(Start:Stop!F5)

Gruß,
steve1da
okay...
14.08.2017 10:41:43
Berndt
...aber gibt es keine andere Formel, welche die Tabellenblätter aus der intelligenten tabelle "Mitarabeiterblätter" abfrühstückt?
Mit Start und Stop funktioniert. Doch vll. gibt es noch eine bessere Möglichkeit.
Der Vorschlag von Hajo mit indirekt() erschließt sich mir noch nicht ganz. Dazu kenne ich mich zu wenig mit Excel Formeln aus.
AW: okay...
14.08.2017 11:16:26
Hajo_Zi
bei mir geht es.
Du möchtest es in Deiner Datei nicht haben.
ich bin dann raus, da meine Beiträge nicht komplett gelesen werden.
Das wird schon seinen Grund haben.
Gruß Hajo
Anzeige
mal mit Original Datei
14.08.2017 11:25:15
Berndt
ich versende mal die Bsp. Datei.
Vll. klärt es dann einiges auf.

Die Datei https://www.herber.de/bbs/user/115442.xlsm wurde aus Datenschutzgründen gelöscht


LG Berndt
AW: mal mit Original Datei
14.08.2017 12:37:26
Robert
Hallo Berndt,
bau Dir das Einfügen der Formel doch in den VBA-Code zum Erstellen der Tabellenblätter mit ein. Siehe in beigefügtem Ausschnitt die Zeilen nach "Next i". Damit wird in Celle C3 des Dashboards die entsprechende Formel eingebaut.
With WsQ
Namen = .Range("J11:J" & .Cells(.Rows.Count, "J").End(xlUp).Row)
For i = LBound(Namen) To UBound(Namen)
If Not Tabs.exists(Namen(i, 1)) Then
WsV.Copy After:=Wb.Worksheets(Wb.Worksheets.Count)
Set WsZ = ActiveSheet
WsZ.Name = Namen(i, 1)
WsZ.Range("B6") = "Guten Tag " & WsZ.Name
End If
Next i
With Range("Mitarbeiterblätter")
strBezug = "'" & .Cells(1, 1) & ":" & .Cells(.Rows.Count, 1) '& "'!F5"
End With
Sheets("Dashboard").Range("C3").Formula = "=SUM(" & strBezug & "'!F5)"
End With

Gruß
Robert
Anzeige
Klasse, aber noch eine Kleinigkeit ?
14.08.2017 15:01:30
Berndt
Es Funktioniert ganz klasse. ich danke dir vielmals.
Eine Frage noch.
Ich habe ja jetzt die Summe aufsummiert dastehen.
Was müsste ich denn hinzufügen, wenn diese Summe als Durchschnitt dargestellt werden soll?
Das heißt das bereits ermittelte Ergebnis sollte dann noch durch die Anzahl der betrachten Blätter geteilt werden.
Gruß Berndt
AW: Klasse, aber noch eine Kleinigkeit ?
14.08.2017 17:04:35
Robert
Hallo Berndt,
zur Durchschnittsberechnung gibt es die Mittelwert-Funktion. Wenn Du den Durchschnitt errechnen willst, kannst Du in Deinen Code folgende Zeile einfügen
Sheets("Dashboard").Range("C3").Formula = "=AVERAGE(" & strBezug & "'!F5)"
Gruß
Robert
Anzeige
Danke
15.08.2017 07:07:17
Berndt
Danke vielmals. Es funzt.
Ihr seit eine echte Hilfe.
Gruß Berndt
AW: das Problem...
14.08.2017 10:39:45
Sepp
Hallo Bernd,
wenn die Blattnamen aufgelistet sind, dann vielleicht so.
Ejngabe

 ABCDE
1Blätter Summe F5:15 
2Blatt A    
3Blatt B    
4Blatt C    
5     

Formeln der Tabelle
ZelleFormel
D1{=SUMME(SUMMEWENN(INDIREKT("'"&A2:INDEX(A:A;ANZAHL2(A:A))&"'!F5"); "<1e+99"))}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Sepp

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige