Hallo liebe VBA Gemeinde,
habe bei folgenden Code:
Code:
Sub Filterdemo()
Dim v As Variant
v = Array(1, 0, 1, 1, 1, 4, 3, 4, 6, 4, 2, 1, 4, 4, 4, 4, 5, 7, 4)
Debug.Print UBound(v)
Range("A1:A" & UBound(v)) = Application.Transpose(v)
ActiveSheet.Range("A:A").AutoFilter Field:=1, Criteria1:="4"
End Sub
Wie schaffe ich es, dass der Header, also hier die erste Zeile A1 beim Einschalten des Autofilters nicht mit ausgewählt wird?
Hallo!
Zum Filter gehört auch eine Überschrift, sonst macht das doch keinen Sinn?
Code:
Sub Filterdemo()
Dim v As Variant
v = Array(1, 0, 1, 1, 1, 4, 3, 4, 6, 4, 2, 1, 4, 4, 4, 4, 5, 7, 4)
Debug.Print UBound(v)
Range("A1") = "Spalte A"
Range("A2:A" & UBound(v) + 1) = Application.Transpose(v)
ActiveSheet.Range("A:A").AutoFilter Field:=1, Criteria1:="4"
End Sub
Gruß Ralf
Hallo,
den Header ausschalten (Codefragment, vorher erstmal was mit dem Autofilter auswählen):
Code:
Sub OhneHeader()
Dim rng as Range
With ActiveSheet
Set rng = .AutoFilter.Range.Offset(1, 0).Resize(.AutoFilter.Range.Rows.Count - 1).SpecialCells(xlCellTypeVisible)
rng.Select
'Test: Alle Zeilennummern anzeigen, die durch Autofilter selektiert wurden
For Each Cell In Selection
Debug.Print Cell.Row
Next Cell
End With
End Sub
Vielen Dank schon mal für eure Lösungen.
Ich suche jetzt noch nach einer Methode/Funktion wie ich die Anzahl der durch den Autofilter selektierten Zellen bestimmen kann.
Hi!
z.B. so:
Debug.Print Range(Cells(2, 1), Cells(Rows.Count, 1).End(xlUp)).SpecialCells(xlCellTypeVisible).Count
Gruß Ralf
Das übliche Selection.Count dürfte es auch tun
Code:
Sub OhneHeader()
Dim rng as Range
With ActiveSheet
Set rng = .AutoFilter.Range.Offset(1, 0).Resize(.AutoFilter.Range.Rows.Count - 1).SpecialCells(xlCellTypeVisible)
rng.Select
Debug.Print "Anzahl ausgewählter Zellen " & Selection.Count
End With
End Sub
Hallöchen,
schöne Lösung,
Hier noch etwas eingekürzt
Code:
Sub OhneHeader()
With ActiveSheet.AutoFilter.Range
Debug.Print .Offset(1, 0).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Count
End With
End Sub