Wenn Spalte "Eintritt" grösser oder gleich Spalte "Austritt", dann komplette Zeile löschen?

... komplette Frage anzeigen

2 Antworten

Es gibt meines Wissens eine Formel, mit der man Spalten löschen kann.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Ninombre
29.04.2016, 14:47

Ein K noch oder ;-) 

1

Das geht nur über ein Makro (VBA).

Beispielsweise so (muss entsprechend der Spalten angepasst werden):


Sub test()
For i = 1 To ActiveSheet.Cells(1048576, 1).End(xlUp).Row

If Cells(i, 2) >= Cells(i, 1) Then Rows(i).Delete

Next i
End Sub

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von clio23
29.04.2016, 14:27

Kann ich nicht in einer dritten unabhängigen Spalte S den Wert 0 erzeugen, falls der Wert in der Spalte "Eintritt" grösser oder gleich dem Wert in Spalte "Austritt" und sonst den Wert 1 und dann mittels Filter alle Zeilen löschen, bei denen in der Spalte S eine 0 steht?

0
Kommentar von clio23
29.04.2016, 14:49

Habe eben das Makro ausprobiert. Es erscheint aber folgende Meldung:

Laufzeitfehler "1004".:

Fehler der Methode "_Default" des Objekts "Range".

Habe den If-Befehl mit meinen Spalten N und Q ergänzt (If Cells(i,N) >= Cells(i,Q)), muss beim For-Befehl ebenfalls was angepasst werden?

0
Kommentar von PWolff
29.04.2016, 15:54

Wenn irgendwas innerhalb einer Zählschleife gelöscht werden soll, GRUNDSÄTZLICH von oben nach unten zählen! Sonst stimmen die Indizes nicht mehr, sobald ein Element gelöscht worden ist.

For i = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1

 

2