Microsoft Excel

Herbers Excel/VBA-Archiv

Löschen Zeilen wenn zwei Bedinungen nicht vorhande


Betrifft: Löschen Zeilen wenn zwei Bedinungen nicht vorhande von: Marc
Geschrieben am: 21.09.2019 14:16:10

Hallo ,

wie kriege ich es hin das ich alle Zeilen löschen kann wenn in
Spalte A zwei Bedingungen nicht erfüllt werden ?
Als Beispiel alle Zeilen löschen außer wenn in Spalte A die Zahl 20 und 21 vorkommt.
Die erste Zeile sollte natürlich auch stehen bleiben.

Löschen von Zeilen wenn Wert in A vorhanden bekomme ich hin :

Do While Not IsError(var)
var = Application.Match("21", Columns(1), 0)
If Not IsError(var) Then Cells(var, 1).Delete xlShiftUp
Loop

Nur anders herum nicht . Irgendwie stehe ich heute auf dem Schlauch.

Danke

  

Betrifft: AW: Löschen Zeilen wenn zwei Bedinungen nicht vorhande von: 1714206.html
Geschrieben am: 21.09.2019 14:24:59

benutze Autofilter und lösche sichtbaren Bereich (gehe Zu)

GrußformelHomepage

  

Betrifft: AW: Löschen Zeilen wenn zwei Bedinungen nicht vorhande von: 1714209.html
Geschrieben am: 21.09.2019 15:06:54

Hallo Marc!

Sub Makro2()
  Dim X As Long
  For X = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
  If Cells(X, 1) <> 20 And Cells(X, 1) <> 21 Then Rows(X).Delete
  Next
  End Sub

Gruß Gerd
  

Betrifft: AW: Löschen Zeilen wenn zwei Bedinungen nicht vorhande von: 1714211.html
Geschrieben am: 21.09.2019 15:24:07

Danke Gerd schon mal für deine Hilfe . Funktioniert wunderbar.
Wie müsste ich es ab ändern wenn es sich auf Spalte B bezieht und die
komplette Zeile gelöscht werden wenn sich einer der beiden Werte nicht in Spalte B befinden .

Danke

  

Betrifft: AW: Löschen Zeilen wenn zwei Bedinungen nicht vorhande von: 1714219.html
Geschrieben am: 21.09.2019 16:39:34

die komplette Zeile wird schon gelöscht. Spalte A ist 1 was wird dann wohl Spalte B sein? 2

GrußformelHomepage

  

Betrifft: AW: Löschen Zeilen wenn zwei Bedinungen nicht vorhande von: 1714210.html
Geschrieben am: 21.09.2019 15:08:11

Hi

Markiere mit einer Formel in der ersten freien Spalte alle Zeilen, die gelöscht werden sollen, mit 0 und die die stehenbleiben sollen mit der Zeilennummer

=Wenn(oder(A1=20;A1=21);Zeile();0)

Schreibe dann in die erste Zeile der Hilfsspalte die Null.

Wende dann auf die ganze Tabelle die menüfunktion Daten - Datentools - Duplikate entfernen an, mit der Hilfsspalte als Kriterium und der Option "keine Überschrift"

Lösche dann die Hilfsspalte.


Wenn du es per Makro machen willst, führe genau diese Schritte auch im Makro aus.
Der Recorder ist dein Freund.

Gruß Daniel

  

Betrifft: AW: Löschen Zeilen wenn zwei Bedinungen nicht vorhande von: 1714221.html
Geschrieben am: 21.09.2019 16:45:24

Hallo Marc!

Sub Makro3()
 Dim X As Long
 For X = Cells(Rows.Count, 2).End(xlUp).Row To 1 Step -1
 If Cells(X, 2) <> 20 And Cells(X, 2) <> 21 Then Rows(X).Delete
 Next
End Sub

Gruß Gerd

Beiträge aus dem Excel-Forum zum Thema "Löschen Zeilen wenn zwei Bedinungen nicht vorhande"