[VBA] Spalte nach Begriff absuchen und alle Zeilen löschen
#11
Ich danke dir Ralf,

da ich mit meinen Dummy-Daten bislang keine Fehler entdecken konnte, war mir die Ungenauigkeit nicht aufgefallen :)
Top
#12
Meinen letzten Post muss ich leider revidieren - bei größeren Datenmengen hängt sich Excel fast auf :(.

Nun habe ich folgenden Code ausprobiert:


Code:
  Dim last As Long
  last = ThisWorkbook.Sheets("Urlaubswuensche").Cells(Rows.Count, 1).End(xlUp).Row

  ThisWorkbook.Sheets("Urlaubswuensche").Range("A1:A" & last).AutoFilter field:=1, Criteria1:=ListBox_Namensliste.Text
  ThisWorkbook.Sheets("Urlaubswuensche").AutoFilter.Range.Offset(1).Resize(ActiveSheet.AutoFilter.Range.Rows.Count - 1).EntireRow.Delete _
                  shift:=xlUp
  ThisWorkbook.Sheets("Urlaubswuensche").Range("A1:A" & last).AutoFilter field:=1


Allerdings gibt er mir da immer folgenden Fehler aus:

Laufzeitfehler91: Objekltvariable oder With-Blockvariable nicht festgelegt.

Woran könnte es liegen?
Top
#13
Hi,

was ist das:


Code:
AutoFilter.Range.Offset(1).
ActiveSheet.AutoFilter.Range.Rows.Count - 1
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#14
In einem anderen Forum habe ich mit Google folgenden Code gefunden und dann übernommen - meinen ersten Code hier im Thread habe ich selbst gebastelt, den oben habe ich kopiert. Von daher kann ich nicht allzu viel dazu sagen, sorry:



Code:
Sub AutofilterergebnisLoeschenOhneAbfrage()
   'Löscht das Ergebnis des aktuellen Autofilters
   'also die aktuell angezeigten Zeilen !
   'Bereich der per Autofilter gefilterten Liste ist variabel !
   '10.10.2007, NoNet - www.excelei.de
   If ActiveSheet.AutoFilterMode Then
       If ActiveSheet.FilterMode Then
           'If MsgBox("Sollen die Zeilen des aktuellen " & vbLf & _
           "Autofilterergebnisses komplett gelöscht werden ?", _
               vbQuestion + vbYesNo, "Zeilen Löschen") = vbYes Then
           With ActiveSheet.AutoFilter.Range.Offset(1)
               .Resize(ActiveSheet.AutoFilter.Range.Rows.Count - 1).EntireRow.Delete _
                   shift:=xlUp
           End With
           'End If
       Else
           MsgBox "Es wurden keine Filterkriterien angegeben !"
       End If
   Else
       MsgBox "Es ist kein Autofilter aktiviert !"
   End If
End Sub
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste