Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1844to1848
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

Autofilter nur die ersten 17 Zeilen

Autofilter nur die ersten 17 Zeilen
09.09.2021 06:44:46
Andre
Guten Morgen Zusammen
Ich bräuchte mal eure Hilfe und zwar habe ich eine Tabelle wo in Zeile 2 Überschriften stehen und dort wird ein Autofilter von Spalte A bis K gesetzt.
Nun möchte ich wenn der Autofilter aktiviert wurde die ersten 17 Zeilen löschen. Ich habe schon ein Ansatz aber er löscht alles.
Was muß ich im Code ändern das er nur die ersten 17 Zeilen löscht
Danke für eure Hilfe im voraus
Hier mein Ansatz:

With Worksheets("Hilfstabelle")
For lngZ = .AutoFilter.Range.Row + 1 To .AutoFilter.Range.Rows.Count + 1 - .AutoFilter.Range.Row + 1
lngVisCount = lngVisCount + .Rows(lngZ).Hidden + 1
If lngVisCount = 17 Then Exit For
Next
If lngVisCount > 0 Then .Range(.Cells(.AutoFilter.Range.Row + 1, 1), .Cells(lngZ, 8)).Delete
End With

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

Betreff
Datum
Anwender
Anzeige
AW: Autofilter nur die ersten 17 Zeilen
09.09.2021 08:31:14
GerdL
Moin Andre,
du meinst die Zellen der ersten 17 sichtbaren Zeilen im Autofilterbereich?
Cells(..,8) ist in Spalte H. Spalte K wäre Cells(..,11).

Dim lngZ As Long, lngVisCount As Long
With Worksheets("Hilfstabelle")
For lngZ = .AutoFilter.Range.Row + 1 To .AutoFilter.Range.Rows.Count + .AutoFilter.Range.Row - 1
lngVisCount = lngVisCount + .Rows(lngZ).Hidden + 1
If lngVisCount = 17 Then Exit For
Next
If lngVisCount > 0 Then Intersect(.Cells.EntireRow.SpecialCells(12), .Range(.Cells(.AutoFilter.Range.Row + 1, 1), .Cells(lngZ, 8))).Delete
End With
Gruß Gerd
Anzeige
AW: Autofilter nur die ersten 17 Zeilen
09.09.2021 09:20:01
Andre
Guten Morgen Gerd
Danke für deine Antwort
Ja genau die ersten 17 sichtbaren Zeilen sollen gelöscht werden.
Den Fehler mit der Spalte habe ich ach schon geändert. Danke für den Hinweis
AW: Autofilter nur die ersten 17 Zeilen
09.09.2021 19:17:19
Yal
Hallo Andre,
eine andere, vereinfachte Idee: eine Markierung in der Zeile, die zulöschen gilt einsetzen (ich verwende hier die Spalte AA) und anschliessend alle Zeilen, die in AA nich leer sind, löschen:

Sub Löschen()
Dim Z As Long
Dim lngVisCount As Long
With Worksheets("Hilfstabelle")
For Z = .AutoFilter.Range.Row + 1 To .AutoFilter.Range.Rows.Count + .AutoFilter.Range.Row - 1
If Not .Rows(Z).Hidden Then
lngVisCount = lngVisCount + 1
.Rows(Z).Range("AA1") = "löschen"
End If
If lngVisCount >= 17 Then Exit For
Next
If lngVisCount > 0 Then
For Z = .Range("AA9999").End(xlUp).Row To 1 Step -1
If .Range("AA" & Z)  "" Then .Range("AA" & Z).EntireRow.Delete
Next
End If
End With
End Sub
Einzelzeile löschen ist wie bodenwischen: immer zurück zur Eingangstür. Also am Ende starten und mit Step -1 nach oben wandern,
VG
Yal
Anzeige
AW: Autofilter nur die ersten 17 Zeilen
09.09.2021 21:42:16
Andre
Hallo Yal
Vielen Danke für deine Mühe.
Hat super geklappt.
Schönen Abend noch und bleibt gesund

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige