Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Schleife

Forumthread: Schleife

Schleife
08.09.2008 15:41:51
Christian
Hallo Leute,
ich hab da eine Sache mit der ich leider nicht so richtig weiterkomme.
Ich lande bei dieser Sprungmarke leider immer wieder in einer Schleife.
Kann mir einer sagen, wie ich es anstelle, dass VBA lediglich die Zeilen
10:5000 nach den vier Kriterien durchsucht ?
Bogentresor_Abgang:
With Worksheets("Bogentresor")
Dim A As Long
Dim strWert As String, strSuchWert As String
strSuchWert = TextBox6 & TextBox13 & ComboBox1 & TextBox7
Application.ScreenUpdating = False
For A = Range("F:J").SpecialCells(xlCellTypeLastCell).Row To 10 Step -1
strWert = Cells(A, "F") & Cells(A, "G") & Cells(A, "H") & Cells(A, "J")
If strWert = strSuchWert Then
With Sheets("Archiv")
Range(Cells(A, "F"), Cells(A, "J")).Copy .Cells(Rows.Count, 5).End(xlUp).Offset(1, 0)
Rows(Cells(A, "F").Row).Delete
End With
End If
Application.ScreenUpdating = True
Next A
GoTo Ende:
Gruß Christian
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife
08.09.2008 16:57:31
Erich
Hallo Christian,
ist das Problem, dass die Tabelle weit über Zeile 5000 hinausgeht?
Dann reicht es, die Schleife von Min(5000, letzteZeile) bis 10 laufen zu lassen.
"With Worksheets("Bogentresor") steht etwas unmotiviert in der Landschaft,
verträgt sich nicht mit dem später folgenden "With Sheets("Archiv")".
With Sheets("Archiv") würde ich außerhalb der Schleife platzieren - einmalig.
Statt A hab ich mal zz als Zeilen-Laufvariable genommen - liest sich schon etwas leichter
(und ist etwas kürzer als lngZ - was besser wäre...)
Rows(Cells(zz, "F").Row).Delete geht doch auch kürzer mit Rows(zz).Delete
Probier mal

Dim zz As Long, strWert As String, strSuchWert As String
Worksheets("Bogentresor").Select
strSuchWert = TextBox6 & TextBox13 & ComboBox1 & TextBox7
Application.ScreenUpdating = False
With Sheets("Archiv")
For zz = Application.Min(5000, _
Range("F:J").SpecialCells(xlCellTypeLastCell).Row) To 10 Step -1
strWert = Cells(zz, "F") & Cells(zz, "G") & Cells(zz, "H") & Cells(zz, "J")
If strWert = strSuchWert Then
Range(Cells(zz, "F"), Cells(zz, "J")).Copy Destination:= _
.Cells(Rows.Count, 5).End(xlUp).Offset(1, 0)
'           Rows(Cells(zz, "F").Row).Delete ' ?
Rows(zz).Delete
End If
Next zz
End With
Application.ScreenUpdating = True

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige