Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
992to996
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
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ganze Zeile löschen, wenn best. Wert in Zelle

Ganze Zeile löschen, wenn best. Wert in Zelle
22.07.2008 11:36:00
Bernhard
Hallo liebe Excel Experten,
heute bin ich schon wieder mit einer Aufgabe im Forum. Ich muss aus grossen Tabellen die Zeilen löschen, in denen der Wert NA steht. Also wenn in C201 NA steht, soll die ganze Zeile gelöscht werden. Ich habe folgendes Makro "gegoogelt" und versucht anzupassen, aber es funktioniert nicht.

Sub LeerzeilenLöschen()
Dim l As Long
Dim Zl As Long
Sheets("Tabelle1").Activate
Zl = ActiveSheet.UsedRange.Rows.Count
Range("A1").Select
For l = 1 To Zl
If Len(ActiveCell.Value) = " NA " _
Then Selection.EntireRow.Delete _
Else ActiveCell.Offset(1, 0).Select
Next l
End Sub


Wer kann mir weiter helfen. Danke im voraus.
Gruss
Bernhard

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ganze Zeile löschen, wenn best. Wert in Zelle
22.07.2008 11:51:00
Gho-Reg
Const start = 1
Const finish = 1000
Const b = ":"
Dim rowinteger As Integer
For rowinteger = start to finish
If (Range("C" & rowinteger).Value = "NA") Then
Rows(rowinteger & b & rowinteger).EntireRow.Delete
rowinteger= rowinteger- 1
End If
next rowinteger
-------------
Zum verstaendnis: rowinteger= rowinteger- 1
das dient dazu damit nicht zeilen ueberprungen werden da ja excel eine zeile loescht und die darauf folgenden quasi "hochrutschen".. die zeile in der die geloescht stand wurde quasi ja dann schon abgefragt und wuerde dann die zeile ueberspringen die dort reinrutscht.. deshalb wird quasi die zeile dann nochmal abgefragt.
Gruesse Gho

Anzeige
AW: Ganze Zeile löschen, wenn best. Wert in Zelle
22.07.2008 11:54:00
Gho-Reg
kleiner nachtrag.. man sollte in die if klausel noch folgendes einfuegen
If (Range("C" & rowinteger).Value = "") Then
Exit For
End If
das setzt du vor die andere If klausel davor.. also sieht das dann so aus
Const start = 1
Const finish = 1000
Const b = ":"
Dim rowinteger As Integer
For rowinteger = start to finish
If (Range("C" & rowinteger).Value = "") Then
Exit For
ElseIf (Range("C" & rowinteger).Value = "NA") Then
Rows(rowinteger & b & rowinteger).EntireRow.Delete
rowinteger= rowinteger- 1
End If
next rowinteger
... sonst geht der alle 1000 eintraege durch obwohl vll nur bis zeile 756 Eintraege vorhanden sind..

Anzeige
AW: Ganze Zeile löschen, wenn best. Wert in Zelle
22.07.2008 12:08:00
Bernhard
Hallo Gho!
Super!!!! Es funktioniert und Du hast mir die Arbeit sehr erleichtert.
Danke und viele Grüsse aus der Schweiz
Bernhard

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige