Anzeige
Archiv - Navigation
620to624
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
620to624
620to624
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeile löschen, wenn Summe=0

Zeile löschen, wenn Summe=0
13.06.2005 16:22:33
oli
Hallo zusammen !
Ich möchte, dass in einer Tabelle jede Zeile gelöscht wird, deren Summe=0 ist.
Fragen:
1. wie kann ich es erreichen, dass in der Tabelle ab Zeile 2 jede Zeile gelöscht wird, deren Summe=0 ist?
2. Kann ich die Public

Function (s. unten) auch direkt ins Modul einbauen ?
Folgendes habe ich schon ausprobiert:
(-> Ergebnis: jede 2. Zeile wird gelöscht, Summe wird nicht berücksichtigt)
Makro in Tabelle:
Public 

Function LastRow()
Dim intLastRow As Integer, intCounter As Integer
intCounter = 1 'Zähler
LastRow = Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile in Spalte 1
End Function

Makro in Modul:

Sub Makro1()
Dim intLastRow
intLastRow = Tabelle1.LastRow
intCounter = 2
While intCounter <= intLastRow
Range(Cells(intCounter, 1), Cells(intCounter, 50)).Select
If Sum = 0 Then Selection.Delete
'Ende Schleife
intCounter = intCounter + 1
Wend
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile löschen, wenn Summe=0
13.06.2005 16:24:25
Dr.
Hi,
Du hast einen typischen Anfängerfehler begangen, den wohl jeder einmal macht: Zeilen werden nicht von oben nach unten sondern von unten nach oben gelöscht. Geh mal Deine Schleife step by step durch, dann wirst Du sehr schnell merken, warum. ;-)
AW: Zeile löschen, wenn Summe=0
13.06.2005 16:24:25
Dr.
Hi,
Du hast einen typischen Anfängerfehler begangen, den wohl jeder einmal macht: Zeilen werden nicht von oben nach unten sondern von unten nach oben gelöscht. Geh mal Deine Schleife step by step durch, dann wirst Du sehr schnell merken, warum. ;-)
AW: Zeile löschen, wenn Summe=0
13.06.2005 16:29:14
oli
Danke, jetzt geht er von unten nach oben. Allerdings löscht er trotzdem noch jede Zeile unabhängig von der Summe :-(
Ausserdem habe ich das intLastRow immer noch nicht integriert.
Danke im Voraus.
So sieht es jetzt aus:

Sub Makro1()
Dim intLastRow
intLastRow = Tabelle1.LastRow
intCounter = 2
'MsgBox (intLastRow)
'MsgBox (intCounter)
While intCounter <= intLastRow
Range(Cells(intCounter + intLastRow, 1), Cells(intCounter + intLastRow, 50)).Select
If Sum = 0 Then Selection.Delete
'Ende Schleife
'MsgBox (intCounter)
intCounter = intCounter - 1
Wend
End Sub

Anzeige
AW: Zeile löschen, wenn Summe=0
13.06.2005 16:29:19
oli
Danke, jetzt geht er von unten nach oben. Allerdings löscht er trotzdem noch jede Zeile unabhängig von der Summe :-(
Ausserdem habe ich das intLastRow immer noch nicht integriert.
Danke im Voraus.
So sieht es jetzt aus:

Sub Makro1()
Dim intLastRow
intLastRow = Tabelle1.LastRow
intCounter = 2
'MsgBox (intLastRow)
'MsgBox (intCounter)
While intCounter <= intLastRow
Range(Cells(intCounter + intLastRow, 1), Cells(intCounter + intLastRow, 50)).Select
If Sum = 0 Then Selection.Delete
'Ende Schleife
'MsgBox (intCounter)
intCounter = intCounter - 1
Wend
End Sub

Anzeige
AW: Zeile löschen, wenn Summe=0
13.06.2005 17:29:17
ransi
hallo olli
wie dr. schon sagte:
beim deleten mit zähler immer von groß nach klein.
sonst kommt dein zähler ganz bös ins straucheln...
versuchs mal so:
Option Explicit
Public

Sub test()
Dim letzte As Long
Dim zaehler As Long
letzte = Range("a65536").End(xlUp).Row 'letzte Zeile in Spalte 1
For zaehler = letzte To 2 Step -1
If WorksheetFunction.Sum(Rows(zaehler)) = 0 Then Rows(zaehler).Delete
Next
End Sub

ransi
PS:
selecten ist (fast)immer überflüssig.
AW: Zeile löschen, wenn Summe=0
13.06.2005 18:20:51
oli
Hallo ransi,
vielen Dank ! Klappt super :-)
Gruß
oli
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige