Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1324to1328
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
Zeilen löschen, wenn
25.07.2013 23:33:05
Andre´
Hallo alle zusammen,
In dem angehängten Bsp.: https://www.herber.de/bbs/user/86568.xls
ist in der Spalte F eine fortlaufende Nummer, die immer vier mal vorhanden ist. In Spalte G wird eine Summe ermittelt.
Jetzt möchte ich alle Zeilen löschen, wenn die Summe gleich Null ist für die fortlaufende Zahl. Ich habe die Zeilen gelb hinterlegt, die gelöscht werden sollen.
Im Orginal sind es über 34000 Zeilen!
Gibt es dafür eine Makrolösung.
Vielen Dank im Voraus!
MFG André

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

Betreff
Datum
Anwender
Anzeige
klaro geht das ...
26.07.2013 00:10:14
Matthias
Hallo André
Ja, das geht mit einem Makro
Ich habe mal in Spalte("L") eine Blocksumme erstellt.
Ist diese Summe=0 wird der Bereich der fortlaufenden Nr. gelöscht.
Hier das Beispiel:
https://www.herber.de/bbs/user/86569.xlsm
Gruß Matthias

AW: klaro geht das ...
26.07.2013 07:55:05
Andre´
Hallo Matthias
vielen Dank für die Lösung, funktioniert prima!
MFG Andre

Danke für die Rückmeldung ... oT
26.07.2013 07:56:52
Matthias

Änderung !
26.07.2013 08:06:02
Matthias
Hallo
Ändere bitte diese Zeile
If Cells(x, 12) = 0 Then
in
If Cells(x, 12) = "0" Then
sonst wird nach erneutem Klick aufs Button nochmal gelöscht.
Habs gerade erst bemerkt.
Gruß Matthias

Anzeige
AW: Änderung ! erweiter,,
26.07.2013 12:55:21
Matze
Hi Matthias, Andreas,
habe deine Zeilen noch um das ermitteln der letzten Zeile aus Spalte A erweitert.
Somit ist die Sache flexibel.. :-) Andre schrieb was von über 34000 Zeilen
Option Explicit
Sub Loeschen_wenn_Summe_Null()
Dim x
Dim Loletzte As Long
'letzte Zeile in Spalte A ermitteln
Loletzte = Cells(Rows.Count, 1).End(xlUp).Row
For x = Loletzte To 2 Step -4
If Cells(x, 12) = "0" Then
MsgBox "Nummer " & Cells(x, 6) & " löschen" & vbLf & "Zeile " & x - 3 & " bis " & x
Rows(x & ":" & x - 3).Delete Shift:=xlUp
End If
Next
End Sub
Matze

Anzeige
Nochmals Danke oT
26.07.2013 20:40:51
Andre´

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige