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

SUMMEWENN-Matrix via VBA abbilden

Forumthread: SUMMEWENN-Matrix via VBA abbilden

SUMMEWENN-Matrix via VBA abbilden
Roland
Salü zusammen,
ich bin nicht zuletzt Dank herber.de mittlerweile schon "ein kleines bißchen" dem VBA-DAU-Stadium entwachsen, stoße aber immer wieder an meine Grenzen, wie auch jetzt.
In einer Arbeitsmappe habe ich eine mördermäßige SUMMEWENN-Matrix, die ca. 10.000 Zeilen einer anderen Arbeitsmappe abarbeiten muss. Das ganze sieht dann so aus:
{=SUMME(WENN($I$18="Alle";0);((WENN(Daten!$B$2:$B$10000=$D$19;WENN(Daten!$C$2:$C$10000=$D$21;WENN(Daten!$D$2:$D$10000=$I$18;Daten!$N$2:$N$10000))))))}
Sieht ziemlich heftig aus, funktioniert aber, wenn auch nur sehr langsam! Deshalb die Frage, ob man sowas über VBA auch eleganter lösen kann?
Für einen kleinen geistigen Schubser wäre ich dankbar!
THX und viele Grüße
Roland
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: SUMMEWENN-Matrix via VBA abbilden
Boris
Hi Roland,
...oder mit der Find-Methode auf diese Art (Performance ungetestet):
Option Explicit

Sub til()
Dim C1, C2, C3, C As Range, firstAddr As String
C1 = "a": C2 = "b": C3 = 2
Dim mySum As Double
With Range("A:A")
Set C = .Find(C1, lookat:=xlWhole)
If Not C Is Nothing Then
firstAddr = C.Address
Do
If C.Offset(0, 1) = C2 And C.Offset(0, 2) = C3 Then mySum = mySum + C.Offset(0, 3)
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> firstAddr
End If
End With
MsgBox mySum
End Sub

Spalte D wird summiert, wenn Spalte A = "a", B = "b" und C = 2
Grüße Boris
Anzeige
-> An Mac4 und Boris
08.04.2004 16:47:18
Roland
Beide Tips sind super; da hab' ich was zu knacken!
Dank an Euch und Gruß
Roland
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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