Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.06.2024 19:56:24
17.06.2024 19:39:46
Anzeige
Archiv - Navigation
1544to1548
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
Schleife in gefilterten Tabelle
06.03.2017 12:25:29
Peter
Hallo Zusammen,
in einer gefilterten Tabelle sollen die Werte der Saplte 13 per VBA aufsummiert werden.
Zeile----Spalte
1327 cells(1327,13)
2453 cells(2453,13)
6217 cells(6217,13)

For Each rngZ In Range("B:B").SpecialCells(xlCellTypeVisible)
Next rngZ

Wie werden die einzelnen Zeilen angesprochen. Die Schleife (Aufsummierung) soll nur über diese drei Zeilen durchgeführt werden.
Hat jemand einen Bsp.-Code?
Für Eure Hilfe bedanke ich mich voraus,
Gruß, Peter

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

Betreff
Datum
Anwender
Anzeige
AW: Schleife in gefilterten Tabelle
06.03.2017 12:47:37
Matthias
Hallo
Dim rngZ As Range, Summe As Double
For Each rngZ In Range("B:B").SpecialCells(xlCellTypeVisible)
Summe = Summe + rngZ
Next rngZ
MsgBox Summe
Gruß Matthias
Formel Teilergebnis
06.03.2017 12:52:20
Zwenn
Hallo Peter,
nur sichtbare gefilterte Werte kann man mit Teilergebnis direkt berechnen lassen. Wie die Formel auf englisch heißt, um sie in VBA zu verwenden musst Du glaube ich den englischen Funktionsnamen SUBTOTAL() verwenden.
Hier findest Du eine Beschreibung, was Du mit der Formel anstellen kannst:
https://support.office.com/de-de/article/TEILERGEBNIS-Funktion-7b027003-f060-4ade-9040-e478765b9939
Viele Grüße,
Zwenn
Anzeige
AW: Schleife in gefilterten Tabelle
06.03.2017 12:56:12
Werner
Hallo Peter,
war gerade am Code hier rein kopieren, da habe ich den Hinweis von Zwenn auf SUBTOTAL gesehen. Da ist auch mein Vorschlag.
Der Code schreibt das "Teilergebnis" in eine Variable und gibt das in einer MessageBox aus. Du kannst das Ergebnis natürlich auch in eine Zelle schreiben.
Public Sub Teilergebnis()
Dim Ergebnis As Double
With Sheets("Tabelle1")
Ergebnis = WorksheetFunction.Subtotal(9, .Columns(2))
MsgBox Ergebnis
End With
End Sub
Vorteil von Subtotal wäre, dass du keine Schleife über was weiß ich wieviele Zellen laufen zu lassen.
Gruß Werner
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige