Excel VBAPour supprimer toutes les lignes lorsque la condition appliquer VBA avec pour et IF
Je voudrais supprimer toutes les lignes basées sur cond voir si la déclaration mais le code ne supprime pas toutes les lignes qui ont ws.Cells(i, 6).Value = 0
Sub Clean()
For Each ws In Worksheets
' find Last Row
LastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
' loop over all rows
For i = 2 To LastRow ' start of the for loop
If ws.Cells(i, 6).Value = 0 Then
Rows(i).Delete
End If
Next i
Next ws
End Sub
Regardez ces réponses et commentaires, ils vous disent pourquoi et comment l'éviter. Ils donnent également des options pour l'accélérer. https://stackoverflow.com/questions/33744149/code-in-vba-loops-and-never-ends-how-to-fix-this –
Vous devez utiliser un index 'For/Next' et une boucle vers l'arrière à la place: 'Pour nIndex = LastRow To 1 Step -1' – braX