Microsoft Excel

Herbers Excel/VBA-Archiv

Zeile löschen, wenn Werte vorkommen

Betrifft: Zeile löschen, wenn Werte vorkommen von: Melanie
Geschrieben am: 17.09.2004 10:58:29

Hallo zusammen!

Zu dem o.g. Thema habe ich schon einen Beitrag in der Recherche gefunden, den ich mir entsprechend umarbeiten konnte. Ich habe aber noch eine Verständnisfrage - sicher könnt ihr mir helfen: Was "macht" das Application.Match? Und was steuere ich mit der "0" am Ende der Zeile?

Sub GesamtbestandSonderlägerLöschen()
Dim irow As Integer, irowL As Integer
Dim var As Variant, var1 As Variant, var2 As Variant

irowL = Cells(Rows.Count, 1).End(xlUp).Row

For irow = irowL To 1 Step -1
var = Application.Match("*SOLI*", Rows(irow), 0)
var1 = Application.Match("*SOKD*", Rows(irow), 0)
var2 = Application.Match("*VBR7*", Rows(irow), 0) 'ca. 3 weitere "var.." folgen
     If Not IsError(var) Then
     Rows(irow).Delete
     Else
        If Not IsError(var1) Then
        Rows(irow).Delete
        Else
            If Not IsError(var2) Then
            Rows(irow).Delete
            End If
        End If
     End If
Next irow
    
End Sub


Und zum Schluss noch eine weitere Frage: Kann man das ganze noch "schlanker" gestalten ? Die Datei hat ca. 30.000 Zeilen und ich denke, wenn ich den Praxistest mache, dann dauert das schon seine Zeit. Natürlich werde ich vorher das Screenupdating ausschalten... Aber gibt es noch was, was ich verbessern kann?

Gruß,
Melanie
  


Betrifft: AW: Zeile löschen, wenn Werte vorkommen von: Reinhard
Geschrieben am: 17.09.2004 11:12:34

Hi Melanie,
zu Match lies in der VBA-Hilfe nach, da wird auch die 0 erläutert.
Ungetestet:
Sub GesamtbestandSonderlägerLöschen()
Dim irow As Long
On Error Resume Next
For irow = Cells(65536, 1).End(xlUp).Row To 1 Step -1
If Application.Match("*SOLI*", Rows(irow), 0) <> 0 Or _
   Application.Match("*SOKD*", Rows(irow), 0) <> 0 Or _
   Application.Match("*VBR7*", Rows(irow), 0) <> 0 Then Rows(irow).Delete
Next irow
End Sub

Gruß
Reinhard


  


Betrifft: AW: Zeile löschen, wenn Werte vorkommen von: Melanie
Geschrieben am: 17.09.2004 14:37:16

Hallo Reinhard!

Vielen Dank! Ich werde das direkt mal testen!

Lieben Gruß und danke für die Unterstützung!
Melanie


 

Beiträge aus den Excel-Beispielen zum Thema "Zeile löschen, wenn Werte vorkommen"