Schaut mal ist das Makro jetzt richtig ?!?!



Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Schaut mal ist das Makro jetzt richtig ?!?!
von: Niko
Geschrieben am: 27.06.2002 - 10:40:01

Es müßte von Spalte A die Zeilen 2500 bis 2600 durchsuchen und alle Zeilen ohne Text löschen, den Rest zusammenschieben...Stimmt das ?

Sub DeleteB()
Dim i As Long, j As Long, maxzeilen As Long
maxzeilen = Range("A2500:A2600 ").End(xlDown).Row
i = 1
j = 0
Do While i < maxzeilen
If Cells(i, 2).Value = "" Then ' wenn in der 2. Spalte nichts steht dann
Rows(i).Delete ' löschen !!
j = j + 1
If i + j >= maxzeilen Then Exit Sub
i = i - 1
End If
i = i + 1
Loop
End Sub

nach oben   nach unten

Re: Schaut mal ist das Makro jetzt richtig ?!?!
von: Frederik
Geschrieben am: 27.06.2002 - 10:42:15

Ja geht es, oder nicht?

nach oben   nach unten

ja laufen tuts schon aber irgendwie....
von: Niko
Geschrieben am: 27.06.2002 - 10:44:47

irgendwie stoppt es nicht immer ...ganz komisch....ich muß damit 32000 Zeilen durchlaufen lassen und das muß halt perfekt laufen deswegen wollte ich die Experten nochmal fragen...bin nicht so der Profi mit dem VBA.....
Also is es ok oder Denkfehler drinne??
Thanks in advance
Niko

nach oben   nach unten

Re: ja laufen tuts schon aber irgendwie....
von: Frederik
Geschrieben am: 27.06.2002 - 10:48:31

Hallo Niko!

Lege doch per akro einen Autofilter über die Tabelle und lasse dir nur die leeren anzeigen. Diese kannst du dann gleich auf einmal löschen.
Zeichne dir evtl. die Schritte mit dem Autofilter auf wenn du nicht weißt wie du das machst.


Gruß
Frederik


nach oben   nach unten

Re: Schaut mal ist das Makro jetzt richtig ?!?!
von: Hajo_Zi
Geschrieben am: 27.06.2002 - 10:49:46

Hallo Niko

löschen von Zeilen sollte man grundsätzlich von Hinten nach vorne machen ist einfacher. Dein Problem Würde ich wioe folgt lösen. Es war ja nur für die Zellen 2500 bis 2600


Sub DeleteB()
    Dim As Long
    For i = 2600 To 2500 Step -1
        If Cells(i, 2).Value = "" Then Rows(i).Delete
    Next i
End Sub

Gruß Hajo


nach oben   nach unten

Re: Schaut mal ist das Makro jetzt richtig ?!?!
von: Hajo_Zi
Geschrieben am: 27.06.2002 - 11:30:29

Hallo Niko

oder noch kürzer


Sub löschen()
    Range("B2500:B2600").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Gruß Hajo

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Übergeordneter Ordner"