web-dev-qa-db-fra.com

Excel VBA: supprimer la ligne entière si la cellule de la colonne A est vide (ensemble de données long)

J'essaie de supprimer toutes les lignes contenant des cellules vides dans la colonne A d'un long ensemble de données (plus de 60 000 lignes dans Excel)

J'ai un code VBA qui fonctionne très bien quand j'ai moins de 32 000 cellules environ:

   Sub DelBlankRows()

   Columns("A:A").Select
   Selection.SpecialCells(xlCellTypeBlanks).Select
   Selection.EntireRow.Delete

   End Sub

Quelqu'un connaît-il un moyen pour qu'il fonctionne sur un grand nombre de lignes?

Je vous remercie

7
user1783504

Tu pourrais essayer:

Application.ScreenUpdating = False
Columns("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Application.ScreenUpdating = True

Application.ScreenUpdating Bascule si les mises à jour effectuées dans le code sont visibles pour l'utilisateur, et essayer Columns("A:A").SpecialCells(... pourrait gagner du temps car il n'a pas réellement à sélectionner les cellules - non testé.

10
ForkandBeard