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

Zeilen Löschen wenn

Zeilen Löschen wenn
24.10.2007 14:30:21
volker
Hai Excels ich brauch mal wieder Hilfe:
In meinem Workbook sind viele Sheets die den Namen BL_* haben.
In all diesen Sheets möchte ich beginnend ab Zeile 7 alle Zeilen Löschen lassen wenn in der Zelle A kein Zahlenwert ist.
Kann mir jemand Helfen?
Besten Dank für Eure Hilfe. Gruss volker

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen Löschen wenn
24.10.2007 16:43:00
Mag
Hi,

Sub ttt()
Dim wsMy As Worksheet
For Each wsMy In Worksheets
If wsMy.Name Like "BL_*" Then wsMy.Rows("8:65536").Clear
Next
End Sub


Gruss

AW: Zeilen Löschen wenn @Mag
24.10.2007 16:53:00
Jens
Hi Mag
Hast da wohl etwas wichtiges übersehen :-)

In all diesen Sheets möchte ich beginnend ab Zeile 7 alle Zeilen Löschen lassen wenn in der Zelle A kein Zahlenwert ist.


Gruß aus dem Sauerland
Jens

AW: Zeilen Löschen wenn @Mag
25.10.2007 07:15:00
volker
Hai Mag,
Jens hat scheinbar das selbe Problem wie ich.
Genau in all diesen sheets möchte ich die Zeilen löschen wenn in Spalte A kein fester Wert ist (steht da eine Formel und das Ergebnis ist "0" soll die Zeile trotzdem gelöscht werden.
Kannst Du mir noch weiterhelfen?
Danke Gruss volker

Anzeige
AW: Zeilen Löschen wenn @Mag
25.10.2007 08:21:01
Mag
... Ups - dann so?:

Sub ttt()
Dim wsMy As Worksheet, rngMy As Range, rngZeile As Range, lngZeile As Long
For Each wsMy In Worksheets
If wsMy.Name Like "BL_*" Then
wsMy.Activate
lngZeile = 7
Do Until Cells(lngZeile, 1).Value = ""
If Not (IsNumeric(Cells(lngZeile, 1).Value)) Or _
Cells(lngZeile, 1).Value = 0 Then
Range(lngZeile & ":" & lngZeile).Delete
Else
lngZeile = lngZeile + 1
End If
Loop
End If
Next
End Sub


Gruss

AW: Zeilen Löschen wenn @Mag
25.10.2007 08:25:30
Mag
... in ein Modul kopieren (!) ...

AW: Zeilen Löschen wenn @Mag
25.10.2007 08:29:00
volker
Hai Mag,
aber Hallo super!! Danke ich Test gleich dran rumm
Schönen TAg Gruss volker

Anzeige
AW: Zeilen Löschen wenn @Mag
25.10.2007 08:54:00
volker
Hai Mag,
das ist sehr sehr nahe dran,
Kannst Du noch eine Kleinigkeit abändern?
Manchmal kommt eine Zeile da steht in Spalte A gar nichts dann denkt das makro nun bin ich fertig, aber dem ist nicht so! Ich hab da evtl. leere Zeilen dazwischen die ich auch löschen möchte.
Mein Tabellenblatt geht nicht über 200 Zeilen raus könnte man das so eingrenzen?
DANKE viele Grüsse aus FDS Volker

AW: Zeilen Löschen wenn @Mag
25.10.2007 09:26:00
Mag
na, volker, dann eben so?:

Sub ttt()
Dim wsMy As Worksheet, lngZeile As Long, lngLetzte As Long
For Each wsMy In Worksheets
If wsMy.Name Like "BL_*" Then
wsMy.Activate
lngZeile = 7
lngLetzte = Cells(65536, 1).End(xlUp).Row
Do Until lngZeile > lngLetzte
If Not (IsNumeric(Cells(lngZeile, 1).Value)) Or _
Cells(lngZeile, 1).Value = 0 Or Cells(lngZeile, 1).Value = "" Then
Range(lngZeile & ":" & lngZeile).Delete
lngLetzte = lngLetzte - 1
Else
lngZeile = lngZeile + 1
End If
Loop
End If
Next
End Sub


Gruss

Anzeige
AW: Zeilen Löschen wenn @Mag
25.10.2007 09:41:00
volker
Ha ja,
was machst Du? Woher kannst Du es?
Ist fast unverschämt aber kannst Du noch was rauskitzeln?
Wenn das makro durchläuft und angenommen da steht nirgends ein Wert drin (ab A7) kann man dann das komplette sheet löschen?
Danke Volker

AW: Zeilen Löschen wenn @Mag
25.10.2007 09:59:47
Mag
ok, dann versuche mal das:

Sub ttt()
Dim wsMy As Worksheet, lngZeile As Long, lngLetzte As Long
For Each wsMy In Worksheets
If wsMy.Name Like "BL_*" Then
wsMy.Activate
lngZeile = 7
lngLetzte = Cells(65536, 1).End(xlUp).Row
If lngLetzte = lngZeile - 1 Then
Application.DisplayAlerts = False
wsMy.Delete
Application.DisplayAlerts = True
Else
Do Until lngZeile > lngLetzte
If Not (IsNumeric(Cells(lngZeile, 1).Value)) Or _
Cells(lngZeile, 1).Value = 0 Or Cells(lngZeile, 1).Value = "" Then
Range(lngZeile & ":" & lngZeile).Delete
lngLetzte = lngLetzte - 1
Else
lngZeile = lngZeile + 1
End If
Loop
End If
End If
Next
MsgBox "Fertig !"
End Sub


Gruss

Anzeige
AW: Zeilen Löschen wenn @Mag
25.10.2007 10:43:00
volker
Hai Mag,
es funktioniert !, jedoch sind die zuerst überprüften Tabellen evtl. leer und bleiben dann dem Workbook trotzdem erhalten.
D.h. wenn ich Dein makro erneut starte werden diese dann wie gewünscht gelöscht.
Ich habs einfach 2x durchlaufen lassen (code nochmals drunter kopiert)
Super!!
Kann man was einstellen dass ich auf dem Schirm nichts sehe (bemerke) da zittert das makro eben so durch!
Vielen Dank und schönen Tag
Gruss volker

AW: Zeilen Löschen wenn @Mag
25.10.2007 13:10:40
Mag
also, leer=löschen bedeutet im makro, dass letzte belegte Zeile der Tabelle (lngLetzte) mit 6 (lngZeile=7 als Startwert und lngZeile-1=6) festgestellt wurde.
'Application.ScreenUpdating = False' zu Beginn des makros und
'Application.ScreenUpdating = True' am Ende und es hat sich ausgezittert.
Gruss

Anzeige
AW: Zeilen Löschen wenn @Mag
25.10.2007 13:14:24
Mag
... achso, ich verstehe, du willst erst alle zeilen löschen und dann prüfen, ob die Tabelle gelöscht werden soll?! Dann muss diese Prüfung am Schluss erfolgen - was Sinn macht.
Versuche es doch einmal selber ...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige