Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
776to780
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
776to780
776to780
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

summewenn über mehrere Tabellen

summewenn über mehrere Tabellen
01.07.2006 11:13:29
Peter
Guten Tag
Ich habe für jeden Monat eine Tabelle in einer Datei. In Spalte B (Code) und C (Beträge) hat es Einträge.
Nun möchte ich in einer 13. Tabelle die Daten konsolidieren.
Nun könnte ich dies ja mit der summewenn Formel machen (Eintrag in der Tabelle "Repap"; suchen_nach würde sich auf Feld in dieser Tabelle beziehen):
=summewenn(januar!bereich_spalteB;suchen_nach;januar!bereich_spalteC)+
summewenn(februar!bereich_spalteB;suchen_nach;februar!bereich_spalteC)+
summewenn(märz!bereich_spalteB;suchen_nach;märz!bereich_spalteC)
etc.
Gibt es eine elegantere Variante über alle Tabellen?
Danke für Feedback
Peter

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: summewenn über mehrere Tabellen
01.07.2006 11:34:13
=Peter=
Hallo Peter,
versuch es mal so:
Kopiere die folgende Funktion in ein Modul der Mappe, dann steht sie dir im Funktions-Assistenten unter 'Benutzerdefiniert' zur Verfügung.
Beispiel: Wenn in Spalte A ein x in der Zelle steht dann soll der Wert in Spalte B addiert werden.
=SUMMEWENNTabellen("Tabelle1";"Tabelle3";A1:A10;"x";B1:B10)
wobei 'Tabelle1' das erste und 'Tabelle3' das letzte zu berechnene Tabellenblatt darstellt. Die dazwischenliegenden werden automatisch berücksichtigt. Du kannst also auch einzelne Blätter ausnehmen, indem Du sie ausserhalb dieses Bereiches ziehst.
Public

Function SummeWennTabellen(Tab1 As String, _
Tab2 As String, _
Bereich As Range, _
Suchkriterium As String, _
Optional Summe_Bereich As Range) As Double
'© Thomas Ramel / 30.05.2003, ergänzt: 11.12.2004
'Funktion zur Anwendung von SUMMEWENN() über mehrere Tabellenblätter
'Mit angegeben werden die Tabellenblattnamen von...bis,
'sowie die üblichen Parameter für SUMMEWENN()
'Zur automatischen Aktualisierung im Tabellenblatt den folgenden Term
'anhängen: +(0*JETZT()) und F9 drücken um zu aktualisieren
'Also z.B. wie folgt: SummeWennTabellen("Tab1";"Tab8";A1:A10;A1;B1:B10)+(0*JETZT())
Dim intI            As Integer
Dim intJ            As Integer
Dim intTab          As Integer
Dim Summe           As Double
If Suchkriterium = "" Then
SummeWennTabellen = 0
Exit Function
End If
If Summe_Bereich Is Nothing Then Set Summe_Bereich = Bereich
intI = Worksheets(Tab1).Index
intJ = Worksheets(Tab2).Index
For intTab = intI To intJ
Set Bereich = ActiveWorkbook.Worksheets(intTab) _
.Range(Bereich.Address)
Set Summe_Bereich = ActiveWorkbook.Worksheets(intTab). _
Range(Summe_Bereich.Address)
Summe = Summe + Application.WorksheetFunction.SumIf _
(Bereich, Suchkriterium, Summe_Bereich)
Next intTab
SummeWennTabellen = Summe
End Function

HTH
Gruss
Peter
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige