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

Tabelle Filtern und Zeilen löschen

Tabelle Filtern und Zeilen löschen
07.01.2021 16:14:59
Elonlon
Hallo,
ich habe versucht eine Tabelle zu filtern und die Daten dann zu löschen.
Allerdings bekomme ich folgende Fehlermeldung:
"Laufzeitfehler 1004:
Die Delete Methode des Range-Objektes konnte nicht ausgeführt werden."
Vielleicht kann mir ja jemand weiter helfen.

Sub VoiceTest()
With Worksheets("Raw").ListObjects("EVA_Feedback").Range 'Filter, offset(to exclude headers)    _
_
_
and delete visible rows
.AutoFilter Field:=1, Criteria1:="voice"
.Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
End Sub

Vielen Dank!

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle Filtern und Zeilen löschen
07.01.2021 16:30:36
Yal
Hallo Elonlon,
ein Filter liefert eine Liste von Zeilen. Diese müssen entweder als gesamtes selektiert und gelöscht oder einzel behandelt werden.
Dein Offset(1,0) zielt auf der erste Zeile nach dem letzten Zeile des sichtbaren Bereich. Daher kann sie unwahscheinlich den Eigenschaft xlCellTypeVisible haben. Deine Auswahl ist leer, löschen wird verweigert.
Du muss die Zeilen, die Du löschen möchtest, ausfiltern. Dann brauchst Du den Offset nicht.
VG
Yal
AW: Tabelle Filtern und Zeilen löschen
07.01.2021 16:40:48
Elonlon
Hmm, jetzt bin ich mir nur nicht sicher was ich ändern muss damit es funktioniert.
AW: Tabelle Filtern und Zeilen löschen
07.01.2021 16:47:39
Yal
Entweder willst Du die Zeile mit Voice löschen
 Sub VoiceTest()
With Worksheets("Raw").ListObjects("EVA_Feedback").Range
.AutoFilter Field:=1, Criteria1:="=voice"
.SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
End Sub
oder die, die nicht Voice haben:
 Sub VoiceTest()
With Worksheets("Raw").ListObjects("EVA_Feedback").Range
.AutoFilter Field:=1, Criteria1:="voice"
.SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
End Sub

(Arbeite lieber zuerst auf eine Kopie: Daten werden hiermit vernichtet!)
VG
Yal
Anzeige
AW: Tabelle Filtern und Zeilen löschen
07.01.2021 16:51:50
Elonlon
Diese Lösung habe ich probiert, es zeigt mir lediglich weiterhin die gleiche Fehlermeldung an.
Trotzdem schon einmal vielen Dank!
AW: Tabelle Filtern und Zeilen löschen
07.01.2021 18:39:52
Yal
Hallo Elonlon,
anscheinend hat ein ListObject Schwierigkeit, auf den gefilterten Zielen zuzugreifen.
Zielführende scheint es, direkt die einzelne Zellen zu prüfen(=voice oder voice?):
Sub Makro1()
Dim i
Application.ScreenUpdating = False
With ActiveSheet.ListObjects("EVA_Feedback").DataBodyRange
For i = .Rows.Count To 1 Step -1
If LCase(.Cells(i, 1).Text) = "voice" Then .Cells(i, 1).EntireRow.Delete
Next
End With
Application.ScreenUpdating = True
End Sub
Wie üblich beim Löschen von Zeilen: von unten nach oben gehen, sonst wird die gelöschte 8 zu 9 und die nächste ist 10 und die ehemalige 9 wird gar nicht geprüft/gelöscht.
VG
Yal
Anzeige
AW: Tabelle Filtern und Zeilen löschen
07.01.2021 18:43:12
Werner
Hallo,
Sub VoiceTest()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With Worksheets("Raw").ListObjects("EVA_Feedback")
.Range.AutoFilter Field:=1, Criteria1:="voice"
With .AutoFilter.Range
If .Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then
.Offset(1).Resize(.Rows.Count - 1).Delete
Else
MsgBox "Fehler: Es gibt kein Filterergebnis."
End If
End With
.AutoFilter.ShowAllData
End With
End Sub
Gruß Werner
AW: Tabelle Filtern und Zeilen löschen
07.01.2021 19:25:46
Elonlon
Perfekt, danke!
Jetzt würde ich nur gerne verstehen was da genau gemacht wurde und wieso mein Code nicht funktioniert hat.
Anzeige

323 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige