Herbers Excel-Forum - das Archiv
Zeile mit bestimmtem Inhalt komplett köschen

|
Betrifft: Zeile mit bestimmtem Inhalt komplett köschen
von: TF
Geschrieben am: 14.11.2003 13:37:42
Hallo,
wie kann ich erreichen, daß alle Zeilen, bei denen in Spalte B : "Auftragsliste"
steht und Spalte E leer ist, automatisch gelöscht werden?
Ich finde keinen Befehl hierfür!
Danke vorab.
TF
Betrifft: AW: Zeile mit bestimmtem Inhalt komplett köschen
von: Steffen
Geschrieben am: 14.11.2003 13:50:04
Hallo TF,
möchtest du dieses Vorhaben über einen VBA-Code (saubere, aufwendigere Lösung) gelöst haben oder nur über Formeln (umständlichere Lösung) direkt in der Tabelle.
Tschau
Steffen
Betrifft: AW: Zeile mit bestimmtem Inhalt komplett köschen
von: TF
Geschrieben am: 14.11.2003 13:54:27
Wenn möglich über VBA - da ich andere Dinge auch schon über VBA anpassen lasse!
Wäre super!
TF
Betrifft: AW: Zeile mit bestimmtem Inhalt komplett köschen
von: Jessica
Geschrieben am: 14.11.2003 14:03:10
Hallo TF,
Damit gehts eventuell die 100 austauschen gegen die Anzahl deiner Zeilen.
Gruß,
Jessica
Sub zeilen_loeschen()
For i = 1 To 100
If Cells(i, 2).Value = "Auftragsliste" Then
Cells(i, 5).Value = ""
End If
Next
End Sub
Betrifft: AW: Zeile mit bestimmtem Inhalt komplett köschen
von: WernerB.
Geschrieben am: 14.11.2003 14:16:37
Hallo ???,
in diesem Forum bitte mit Real(Vor)namen auftreten; siehe auch Forums-FAQ! Danke!
Was hältst Du hiervon:
Sub ZeilenKiller()
Dim i As Long, laR As Long
Application.ScreenUpdating = False
laR = Cells(Rows.Count, 2).End(xlUp).Row
For i = laR To 1 Step -1
If Cells(i, 2).Value = "Auftragsliste" And _
Cells(i, 5).Value = "" Then
Cells(i, 1).EntireRow.Delete
End If
Next i
Application.ScreenUpdating = True
End Sub
Viel Erfolg wünscht
WernerB.
P.S.: Das Forum lebt auch von den Rückmeldungen der Fragesteller an die Antworter (siehe Forums-FAQ).
Betrifft: AW: Zeile mit bestimmtem Inhalt komplett köschen
von: TF (Tom Fuchs) ist eigentlich hier bekannt
Geschrieben am: 14.11.2003 14:28:48
Hallo Werner und Jessica,
habe beidesd probiert - leider kein Erfolg. Hier nochmal genauere Angaben:
- Tabelle mit 650 Zeilen
- Es soll j e d e Zeile komplett gelöscht werden, wenn in Spalte B "Auftragsliste" steht und wenn g l e i c h z e i t i g die Spalte E leer ist!
Leider konnte ich mit Euren Vorschlägen das erwünschte Resultat noch nicht erzielen- oder ich mache etwas falsch??!!
Bitte nochmal kurze Rückinfo.
danke
Tom (TF)
Betrifft: AW: Zeile mit bestimmtem Inhalt komplett köschen
von: Jessica
Geschrieben am: 14.11.2003 14:35:15
Hallo Tom,
das hier funktioniert....
Hab das vorhin falsch verstanden
Gruß
Jessica
Sub zeilen_loeschen()
For i = 1 To 100
If Cells(i, 2).Value = "Auftragsliste" And Cells(i, 5).Value = "" Then
Rows(i).Select
Selection.Delete Shift:=xlUp
End If
Next
End Sub
Betrifft: AW: Zeile mit bestimmtem Inhalt komplett köschen
von: Tom
Geschrieben am: 14.11.2003 14:43:17
Hi Jessica,
funktioniert - aber: ich muß das Makro zwei bis dreimal laufen lassen, damit a l l e vollständig weg sind. Beim ersten Durchgang werden von Bsp 8 Stück nur 3 gelöscht. Beim zweiten wieder 3 Stück und mit dem letzten Durchgang sind alle weg.
Kann man das auf einen Schub machen?
Tom
Betrifft: AW: Zeile mit bestimmtem Inhalt komplett köschen
von: Andi_H
Geschrieben am: 14.11.2003 14:46:09
Hi Tom, misch mich hier einfach mal ein:
Sub zeilen_loeschen()
For i = 1000 To 1 Step - 1
If Cells(i, 2).Value = "Auftragsliste" And Cells(i, 5).Value = "" Then
Rows(i).Delete
End If
Next
End Sub
gruß
andi
Betrifft: AW: Zeile mit bestimmtem Inhalt komplett köschen
von: Tom
Geschrieben am: 14.11.2003 14:54:06
Super jetzt paßt es!
Vielen Dank an Euch alle!!!
Wenn wir aber gerade beim lösche sind: Gibt es noch einen Befehl der mir alle Zeilen ab Zeile 150 löscht, wenn in Spalte A nichts steht??
wäre super nett, wenn ich das abschließend auch noch gelöst bekommen würde.
Gruß
Tom
Betrifft: AW: Zeile mit bestimmtem Inhalt komplett köschen
von: Andi_H
Geschrieben am: 14.11.2003 15:10:25
hi nochmal:
etwa so, wenn alle zellen in Spalte a leer sind wird alles ab Zeile 150 gelöscht:
Sub löschen()
Dim i, x As Long
x = 0
For i = 1 To 65536
If Not IsEmpty(Cells(i, 1)) Then x = x + 1
Next
If x = 0 Then Rows("150:65536").Delete
End Sub
Gruß
ANdi
Betrifft: AW: Zeile mit bestimmtem Inhalt komplett köschen
von: WernerB.
Geschrieben am: 14.11.2003 15:17:38
Hallo Tom,
das nachstehende Makro funktioniert bei mir unter folgender Bedingung:
In der letzten Zeile mit Inhalt muss die Spalte A auch einen Inhalt haben, andernfalls muss unterhalb der letzten Zeile mit Inhalt eine Zelle der Spalte A mit einem Inhalt versehen werden, der nach der Löschaktion wieder entfernt werden kann.
Das Makro wirkt zwischen der letzten Zeile in der die Spalte A einen Inhalt hat aufwärts bis zur Zeile 150 (einschließlich).
Sub ZeilenKiller2()
Dim i As Long, laR As Long
Application.ScreenUpdating = False
laR = Cells(Rows.Count, 1).End(xlUp).Row
If laR < 150 Then laR = 150
For i = laR To 150 Step -1
If Cells(i, 1).Value = "" Then
Cells(i, 1).EntireRow.Delete
End If
Next i
Application.ScreenUpdating = True
End Sub
Gruß WernerB.
Betrifft: AW: Zeile mit bestimmtem Inhalt komplett köschen
von: WernerB.
Geschrieben am: 14.11.2003 15:24:34
Hallo Tom,
dass mein Lösungsvorschlag bei Dir nicht funktioniert, ist mir ein Rätsel.
Ich habe das Makro getestet, bevor ich es hier gepostet habe.
Jetzt habe ich es aus meinem Beitrag wieder herauskopiert und wieder getestet - ohne Beanstandungen.
Auch wenn Dein Problem zwischenzeitlich gelöst scheint - vielleicht bist Du ja so freundlich und klärst mich noch auf, was denn bei Dir nicht funktioniert?
Gruß WernerB.