Microsoft Excel

Herbers Excel/VBA-Archiv

Zeilen mit bestimmten Kriterien Löschen | Herbers Excel-Forum


Betrifft: Zeilen mit bestimmten Kriterien Löschen von: Stefan K.
Geschrieben am: 20.01.2010 09:16:02

Hallo zusammen,

in Spalet B habe ich chaotisch die Bezeichnungen SO1, SO2 und SO3 in mehreren tausend Zeilen stehen.
Ich benötige allerdings nur die Zeilen mit dem Inhalt SO1, die restlichen Zeilen mit SO2 und SO3 in Spalte B müssen komplett gelöscht werden.
Dies könnte ich quasi auch manuell mit einem Filter machen, doch bestimmt gibt es dafür einen Makro/VBA-Text.

Kann mir diesbezüglich jemand weiterhelfen?

Vielen Dank für Eure Unterstützung.

  

Betrifft: AW: Zeilen mit bestimmten Kriterien Löschen von: Chris
Geschrieben am: 20.01.2010 09:31:34

Servus Stefan,

probier mal das:

Sub tt()
Dim lngLetzte As Long
lngLetzte = Cells(65536, 2).End(xlUp).Row
Columns("C:C").Insert Shift:=xlToRight
Range("C1:C" & lngLetzte).FormulaR1C1 = "=IF(RC[-1]=""SO1"",ROW(),FALSE)"
    Range("A1:IV" & lngLetzte).Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
With Range("C1:C" & lngLetzte)
     .Formula = .Value
     .SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
End With
Columns("C:C").Delete
End Sub
Das Makro in das entsptechende Tabellenmodul.

Gruß

Chris


  

Betrifft: AW: Zeilen mit bestimmten Kriterien Löschen von: Sven
Geschrieben am: 20.01.2010 09:49:31

Hallo Stefan K.,

also wenn es nur ums Reihen löschen geht, würde ich es mal so versuchen:

Sub Bereinigen()

lrow = Cells(Rows.Count, 2).End(xlUp).Row

For a = 1 To lrow
    If Not Cells(a, 2).Value = "SO1" Then
        If Cells(a, 2).Value = "" Then Exit Sub
        Rows(a).Delete
        a = a - 1
    End If
Next a
    
End Sub
Gruß, Sven


  

Betrifft: AW: Zeilen mit bestimmten Kriterien Löschen von: Stefan K.
Geschrieben am: 20.01.2010 13:45:17

hallo sven und chris,
ich würde allerdings gerne im makro-text die SO2 und SO3 zum löschen benennen, weil in eigen tabellen z.b. auch die SO4 belieben muss. bei den aktuellen lössungen wird alles gelöscht, was nicht SO1 ist.

ich würde es lieber umgekehrt machen, ... alles mit angeben, was gelöscht werden muss.
habt ihr da auch eine idee?

vielen dank.


  

Betrifft: AW: Zeilen mit bestimmten Kriterien Löschen von: Chris
Geschrieben am: 20.01.2010 14:14:19

Servus,

dann so:

Sub tt()
Dim lngLetzte As Long
lngLetzte = Cells(65536, 2).End(xlUp).Row
Columns("C:C").Insert Shift:=xlToRight
Range("C1:C" & lngLetzte).FormulaR1C1 = "=IF(OR(RC[-1]=""SO2"",RC[-1]=""SO3""),FALSE,ROW())"
    Range("A1:IV" & lngLetzte).Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
With Range("C1:C" & lngLetzte)
     .Formula = .Value
     .SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
End With
Columns("C:C").Delete
End Sub
Gruß

Chris


  

Betrifft: AW: Zeilen mit bestimmten Kriterien Löschen von: Stefan K.
Geschrieben am: 20.01.2010 18:23:42

...super vielen dank, funktioniert.

schönen abend noch.

gruß,
stefan


  

Betrifft: AW: Zeilen mit bestimmten Kriterien Löschen von: Stefan K.
Geschrieben am: 20.01.2010 18:26:23

...super, funktioniert.

VIELEN DANK.

gruß,
stefan


  

Betrifft: AW: Zeilen mit bestimmten Kriterien Löschen von: Stefan K.
Geschrieben am: 20.01.2010 18:25:04

...super, funktioniert.

VIELEN DANK.

gruß,
stefan


  

Betrifft: AW: Zeilen mit bestimmten Kriterien Löschen von: Stefan K.
Geschrieben am: 20.01.2010 18:25:28

...super, funktioniert.

VIELEN DANK.

gruß,
stefan


Beiträge aus den Excel-Beispielen zum Thema "Zeilen mit bestimmten Kriterien Löschen"