Excel-VBA - variable für die Schleife
Ich kann nicht scheinen, um meine zweite for-Schleife rechts. Ich bin auf der Suche nach der Zelle mit dem Wert 'Persoonlijke prijslijst'. Sobald ich diese Zelle muss ich gehen, zwei-und delete-8 nach unten. Wenn ich Debuggen, es sagt temp = 0, so dass ich vermute, es ist in meinem zweiten for-Schleife.
Dim i As Integer
For i = 1 To 800
Range("C" & i).Select
If Range("C" & i).Value = "Persoonlijke prijslijst" Then
Dim temp As Integer
For temp = i - 2 To temp + 8
Range("C" & temp).EntireRow.Delete Shift:=xlToLeft
Next temp
End If
Next i
- Meinst du, gehen Sie zwei Zeilen, und löschen Sie dann 8 Zeilen nach unten von dort?
- Ja, das ist richtig
- Es ist, weil Sie beim löschen von Zeilen innerhalb dieser zweiten for-Schleife. Jedes mal, wenn eine Zeile gelöscht, die temp-variable würde auch aktualisiert werden müssen. Aber es ist besser, es zu tun Kyle ist Weg.
- Es ist der Gedanke, der zählt 🙂
- Wie kommt man falsche Gedanken 😉
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es das, was Sie versuchen?
Einen anderen Weg ohne looping 800 mal:
.Find
Sie müssen sehr vorsichtig sein, als wenn Sie, löschen Sie den Bereich dannSet rng = .FindNext(rng)
Zeile geben Sie den Fehler 😉 Lasst mich wissen, wenn Sie möchten, eine.Find
- code als auch 🙂rngRows
+1 für die Bereitstellung einen code, der funktioniert:)