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

Anzahl unersch. Werte aller angezeigten DS

Anzahl unersch. Werte aller angezeigten DS
Stephan
Hallo Profis,
Wie kann ich bei aktivem Autofilter die angezeigten Datensätze nach versch. Kriterien unter VBA zählen. Ichbenötige als Ausgabe die Anzahl der angezeigten Datensätze sowie die Anzahl der unterschiedlichen Werte sie Beispieldatei. Währe toll wenn es unter Formel und VBA klappen würde. Lösungsansatz wurd mir bereits in vorausgehender Frage zugespielt.
https://www.herber.de/bbs/user/76908.xls
Danke für eure Mühe.
Gruß Stephan

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

Betreff
Benutzer
Anzeige
AW: VBA Variante
09.10.2011 17:14:35
Stephan
Hallo Tino,
Super Funktion funktioniert sehr gut, genau wie ich es wollte. Danke für Deine Mühe, da merkt man den unterschied zwischen Laie und Profi sehr deutlich.
Gruß
Stephan
AW: Anzahl unersch. Werte aller angezeigten DS
09.10.2011 17:13:22
fcs
Hallo Stephan,
hier eine Variante für die benutzerdefinierte Funktion zur Berechnung der Werte.
Gruß
Franz
Sheet1

 K
1VBA
24
32
44
52
63

Formeln der Tabelle
ZelleFormel
K2=fncRecords(1;A11)
K3=fncRecords(2;B11;"x")
K4=fncRecords(3;B11;"x")
K5=fncRecords(4;B11)
K6=fncRecords(5;B11)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
'Auswertefunktion im Zusammenhang mit Autofilter Function fncRecords(intFunktion, rngAutofilter As Range, _ Optional vWert As Variant) As Long 'Als Bezugszelle die Zelle unterhalb des Spaltentitels wählen Dim wks As Worksheet, rngWerte As Range, Zelle As Range Dim oCollection As New Collection Dim Spalte As Long, Zeile1 As Long, Zeile2 As Long On Error GoTo Fehler Set wks = rngAutofilter.Parent With wks If .AutoFilterMode = True Then With .AutoFilter.Range Spalte = rngAutofilter.Column - .Column + 1 Zeile1 = .Row + 1 Zeile2 = .Row + .Rows.Count - 1 End With Set rngWerte = .Range(.Cells(Zeile1, Spalte), .Cells(Zeile2, Spalte)) Select Case intFunktion Case 1 'Zählen der angezeigten Datensätze - nicht leere fncRecords = Application.WorksheetFunction.Subtotal(3, rngWerte) Case 2 'Zählen der sichtbaren mit Wert vWert in Spalte For Each Zelle In rngWerte.Cells If Zelle.EntireRow.Hidden = False Then fncRecords = fncRecords + Application.WorksheetFunction.CountIf(Zelle, vWert) End If Next Case 3 'Zählen aller Zellen mit Wert vWert in Spalte fncRecords = Application.WorksheetFunction.CountIf(rngWerte, vWert) Case 4, 5 '5 = alle verschiedenen im Bereich, 4 = sichtbare verschiedene im Bereich For Each Zelle In rngWerte.Cells If ((intFunktion = 4 And Zelle.EntireRow.Hidden = False) Or intFunktion = 5) _ And Zelle "" Then oCollection.Add Zelle.Value, CStr(Zelle.Value) fncRecords = fncRecords + 1 End If NextZelle: Next End Select End If End With Fehler: With Err Select Case .Number Case 0 'Alles OK Case 457 Resume NextZelle Case Else End Select End With Set oCollection = Nothing: Set wks = Nothing Set rngWerte = Nothing Set Zelle = Nothing End Function
Anzeige

79 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige