Comment faire pour supprimer des lignes dans Excel basé sur des critères à l'aide de VBA?
Je suis actuellement à la construction d'une macro pour formater une feuille de données, ainsi qu'à supprimer inapplicable lignes de données. Plus précisément, je suis à la recherche de supprimer des lignes où la Colonne L = "ABC", ainsi que de supprimer les lignes où la Colonne AA <> "DEF".
Jusqu'à présent j'ai été en mesure d'atteindre le premier objectif, mais pas la seconde. Le code actuel est:
Dim LastRow As Integer
Dim x, y, z As Integer
Dim StartRow, StopRow As Integer
For x = 0 To LastRow
If (Range("L1").Offset(x, 0) = "ABC") Then
Range("L1").Offset(x, 0).EntireRow.Delete
x = x - 1
End If
OriginalL'auteur Laura Kane-Punyon | 2011-10-04
Vous devez vous connecter pour publier un commentaire.
Il est normalement beaucoup plus rapide à utiliser de filtre automatique plutôt que la boucle des Plages
Le code ci-dessous crée un travail de colonne, puis utiliser une formule pour détecter supprimer des critères, puis de filtre automatique et supprimer le résultat des enregistrements
Le travail de la colonne met une formule
=OR(L1="ABC",AA1<>"DEF")
dans la ligne 1 de la première colonne vide, puis copie le bas aussi loin ar la vrai plage utilisée. Puis tout VRAI enregistrements sont quicklly supprimé avec filtre automatique
OriginalL'auteur brettdj
À l'aide d'un boucle:
À l'aide de filtre automatique (non testé - probablement plus rapide):
édité. Thx !
Ouais mais, AA <> "DEF". 🙂
Oups, va trop vite (je dois, si je veux répondre avant de le faire :))
Si vous ne souhaitez pas supprimer la première ligne (si vous en avez un en-tête), le changement
For x = lastRow To 1 Step -1
àFor x = lastRow To 2 Step -1
OriginalL'auteur Patrick Honorez
Cellule avec le numéro 12 est "L" et le numéro 27 est "AA"
OriginalL'auteur Metaller
OriginalL'auteur Jon49