Excel VBA - variable pour la boucle
Je n'arrive pas à obtenir mon deuxième pour la boucle de droite. Je suis à la recherche de la cellule avec la valeur "Persoonlijke prijslijst'. Une fois que j'ai cette cellule, j'ai besoin d'aller jusqu'à deux et supprimer 8 vers le bas. Quand je debug, il dit temp = 0 donc, je présume que c'est dans ma deuxième boucle for.
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
- Entendez-vous aller jusqu'à deux lignes et ensuite supprimer 8 lignes vers le bas à partir de là?
- Oui, c'est correct
- C'est parce que vous êtes à la suppression de lignes à l'intérieur de cette deuxième boucle. Chaque fois qu'une ligne est supprimée, la variable temp devra également être mis à jour. Mais il est mieux de le faire de Kyle façon.
- C'est la pensée qui compte 🙂
- Comment on peut avoir des pensées incorrectes 😉
Vous devez vous connecter pour publier un commentaire.
Est-ce que vous essayez?
Une autre façon sans boucle de 800 fois:
.Find
vous devez être très prudent, car si vous supprimez la plage alorsSet rng = .FindNext(rng)
ligne vous donnera l'erreur 😉 Laissez-moi savoir si vous voulez un.Find
le code 🙂rngRows
+1 pour la fourniture d'un code qui fonctionne:)