Ich versuche, eine For Next Loop bis zur letzten Zeile einer bestimmten Spalte (aber nicht die letzte Zeile des Blattes) auszuführen. Der erste Teil meiner Liste hat also Daten in Spalte F und der zweite Teil nicht. Ich möchte nur, dass das Makro auf diesen ersten Teil angewendet wird. Aus irgendeinem Grund läuft die Schleife nur mit bestimmten Befehlen durch den ersten Teil, aber nicht mit denen, die ich gerade versuche. (Ich weiß, es wäre einfach, die zwei Teile manuell zu trennen und dann zu laufen, aber es macht mich verrückt, nicht zu wissen, was ich falsch gemacht habe :)). DieseVBA Für die nächste Schleife bis zur letzten Zeile einer Spalte, aber nicht letzte Zeile des Blattes
ist der Code:
Dim i As Integer
Dim g As Double
g = 0.083333333
Dim lastrow As Long
lastrow = Sheets("zm").Range("f" & Rows.Count).End(xlUp).Row
Sheets("zm").Activate
For i = 2 To lastrow
If Sheets("zm").Cells(i, 1) = Sheets("zm").Cells(i + 1, 1) And Sheets("zm").Cells(i, 5) = Sheets("zm").Cells(i + 1, 5) And Sheets("zm").Cells(i + 1, 6) - Sheets("zm").Cells(i, 7) < g Then
Sheets("zm").Cells(i + 1, 7).Copy
Sheets("zm").Cells(i, 7).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("zm").Rows(i + 1).Delete
End If
Next i
Vielen Dank für Ihre Hilfe!
Ihr Code wird einige Prüfungen auf Zeile tun i und, wenn nötig, eine Zelle kopieren und Zeile löschen i + 1 . Diese Löschung bedeutet, dass Zeile i + 2 nun Zeile i + 1 wird, und Zeile i + 3 wird i + 2 ... und Zeile lastrow + 1 wird Zeile lastrow. Ihre Schleife fängt dann an, Sachen mit der neuen Reihe i + 1 zu tun (die zu i + 2 verwendete) und fährt fort, bis Sie zu lastrow (das möglicherweise begann, Reihen lastrow + 279 zu sein) gehen. Sie ** müssen * tun müssen "Für i = lastrow zu 2 Schritt -1", aber ich bin mir nicht sicher, ob das mit Ihrer If-Anweisung funktioniert. (Und dieser ganze Vorschlag mag völlig unabhängig von deinem Problem sein.) – YowE3K
LOL - Ich habe gerade deine Benutzerkennung bemerkt - und ich habe gerade die Simpsons-Episode gesehen, in der Homer zu Duffman wird – YowE3K
Ich würde ein paar Klammern hinzufügen, um sicherzustellen, dass dein 'If' ist gut klar, vor allem der dritte Teil –