Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1140to1144
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
Inhaltsverzeichnis

Zeilen löschen mit LOOP

Zeilen löschen mit LOOP
chrissey
Hallo Leut.
hab folgendes Makro auf nem Button liegen.
Das Makro soll im Sheets A alle Zeilen löschen welche nicht der Variablen z entsprechen.
Das Problem ist das Makro dauert bei 500 Zeilen, was ja eigentlich nicht so viel ist, sehr lange
Kann ich das irgendwie geschickter und vor allem schneller lösen
'___________________________________________________________________________________
Private Sub CommandButton1_Click()
Dim x As Integer
Dim y As Integer
Dim z As String
x = 2
y = Worksheets("A").Cells(Rows.Count, 1).End(xlUp).Row + 1 '(hier: ca. 500 Zeilen )
z = Worksheets("B").Cells(23, 23).Value '(z.B.: Hr. Meier)
Do until x = y
If Worksheets("A").Cells(x, 3).Value = z Then
Else
Worksheets("A").Rows(x & ":" & x).Delete Shift:=xlUp
End If
x = x + 1
Loop
End Sub

Danke Euch schon mal & liebe Grüße
Chrissey

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Schneller über Autofilter
22.02.2010 10:52:53
Renee
Hi Chrissey,
Zeichne ein Makro auf mit Autofilter auf Spalte A und Benutzerdefiniert = z.B. "Hr. Meier"
Selektier die Auswahlzeilen - Rechtsklick Zeilen löschen - Autofilter aus.
Code anpassen.
GreetZ Renée
AW: Schneller über Autofilter
22.02.2010 11:06:26
chrissey
Hallo Renee,
das hab ich mir auch schon überlegt, aber das Problem ist
ich muss die Daten so bereinigen dass die Zellen wirklich
gelöscht sind. Guter Tip aber geht leider net Sorry
Grüße
AW: Schneller über Autofilter
22.02.2010 21:50:36
Daniel
Hi
das geht schon, du musst die Tabelle so filtern, daß nur die Zeilen sichtbar sind, die du löschen willst.
Excel wendet den Löschbefehl idR. nur auf die sichtbaren Zellen an.
nach dem Löschen schaltest du den Autofilter wieder aus und schon sind die Daten bereinigt.
Gruß Daniel
Anzeige
AW: Zeilen löschen mit LOOP
22.02.2010 11:11:05
Uwe
Hallo Chrissey,
Private Sub CommandButton1_Click()
Dim rngR As Range
Dim strS As String
ActiveCell.Activate
strS = CStr(Worksheets("B").Cells(23, 23).Value) '(z.B.: Hr. Meier)
With Worksheets("A").Range("C2:C" & Rows.Count)
On Error Resume Next
Set rngR = .Find(What:=strS, After:=.Cells(1), LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False)
On Error GoTo 0
If Not rngR Is Nothing Then
.ColumnDifferences(rngR).EntireRow.Delete
Else
.EntireRow.Delete
End If
End With
End Sub
Gruß Uwe
AW: Zeilen löschen mit LOOP
23.02.2010 12:00:40
chrissey
Hallo Uwe,
Du bist der Chef!
Super!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Mit meinem Makro war ich 10 Minuten unterwegs, deins dauert Eine!!! Ganz großes Tennis!
Dankeschön
hat mir super weitergeholfen!
Grüße
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige