Anzeige
Archiv - Navigation
1692to1696
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

vba - SumIf / visible

vba - SumIf / visible
04.06.2019 10:33:38
Fred

Hallo VBA&Excelexperten,
ich tobe mich gerade an VBA-Funktionen aus.
Mit "Summewenn" erziele ich in meinem Beispiel gewünschtes Ergebnis.
Worksheets("Beispiel").Range("B4") = Application.WorksheetFunction.SumIf(Worksheets("Basis").Range("E1:E500"), Worksheets("Beispiel").Range("E4"), Worksheets("Basis").Range("q1:q500"))
Meine Frage:
Wenn es sich um gefilterte Daten handelt, in wie weit muß ich dann oberen Code ändern, wenn nur die "sichtbaren" Daten entsprechend berücksichtigt werden sollen.
Mit freundlichen Gruß
Fred Neumann

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba - Agregat
04.06.2019 11:03:33
Fennek
Hallo,
die Funktion =Agregat rechnet auch ohne ausgeblendete Zellen und kann, im Gegesatz zu den Funktion 14+, auch per VBA gesetzt werden.
Also erst im Blatt ausprobieren und dann nach VBA übertragen.
mfg
Aggregat <> SummeWenn
04.06.2019 11:21:16
ASC_254
Hi
im Prinzp ja, allerdings sind die -Wenn(s)-Funktionen immer noch nicht ins Aggregat mit aufgenommen
Gruß Daniel
AW: vba - SumIf / visible
04.06.2019 11:18:52
ASC_254
Hi
prinzipiell kannst du in VBA einen Zellbereich mit dem Zusatz:

.SpecialCells(xlcelltypevisible)
auf die sichtbaren Zellen einschränken.
allerdings kann das SummeWenn nicht mit Zellbereichen, die in mehrere nicht zusammenhängende Teilbereiche unterteilt sind, umgehen.
trage also in eine freie Spalte in die sichtbaren Zellen den Wert 1 ein und verwende diese Hilfsspalte dann als zusätzliche Bedingung mit SummeWenns (und nicht mehr SummeWenn, weil du jetzt 2 Bedingungen hast)
Sheets("Basis").Range("Z1:Z500").SpecialCells(xlcelltypevisible).Value = 1
Sheets("Beispiel").Range("B4") = Worksheetfunction.SumIfs(_
Sheets("Basis").Range("Q1:Q500"), _
Sheets("Basis").Range("E1:E500"), Sheets("Beispiel").Range("E4"), _
Sheets("Basis").Range("Z1:Z500"), 1)
Sheets("Basis").Range("Z1:Z500").SpecialCells(xlcelltypevisible).ClearContents

Gruß Daniel
Anzeige
AW: vba - SumIf / visible
04.06.2019 11:32:54
Fred
Hallo Daniel,
ja, die sichtbaren Zeilen in einer "Hilfsspalte" mit Wert belegen und diesen in die Kriterien aufnehmen (SummeWenn wird SummeWenns).
Funzt einwandfrei!
.. und eine gute Option für weitere Berechnungen in Zukunft.
Danke für die Lösung!!
Gruß
Fred

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige