Quand une feuille de calcul Excel grandit pour englober des milliers , voire des centaines de milliers , de lignes , de supprimer manuellement chaque ligne individuelle prendrait une éternité . Même si un tri rapide serait tout simplement déplacer chaque ligne vide au fond , essentiellement " suppression " , celui-ci ne fonctionnera pas si vous avez besoin des données de rester dans son ordre actuel . Pour supprimer des lignes vides sans modification de l'ordre d'une feuille de calcul, vous aurez besoin d'accéder à la console de Visual Basic de Excel et créer une macro. Instructions
1
Ouvrez la feuille de calcul Excel que vous avez besoin voulez travailler avec . Ensuite, appuyez sur "Alt" et "F11" pour ouvrir la console Visual Basic.
2
Faites un clic droit sur l'une des entrées dans le cadre du " VBAProject " cap sur le côté gauche de la console VBA. Déplacez votre souris sur "Insérer" et choisissez "Module" dans la liste des options. Votre nouveau module sera automatiquement sélectionné , et la moitié droite de la console deviendra une page blanche. Si vous avez ouvert plusieurs feuilles de calcul , assurez-vous que vous ajoutez le module à la bonne " VBAProject . " Le nom du document spécifique sera située à droite de la " VBAProject " rubrique
3
Copiez le code suivant en haut de la page du module vierge : .
< P > Sous DeleteBlankRows ()
Dim x As long
Demande
. Calcul = xlCalculationManual
. ScreenUpdating = False
Fin de
avec
la commande " Sub" crée la macro et la commande " Dim" établit une variable que vous utiliserez plus tard. Les commandes " ScreenUpdating " " Calcul " et éteindre leurs fonctions respectives , ce qui rend la macro fonctionner correctement sur de grandes feuilles de calcul
4
Collez le code suivant directement sous le dernier set : .
avec ActiveSheet
Cells.Replace _
Quoi: = "", Replacement : = "", _
LookAt : = xlWhole , MatchCase : = False
< p> pour x = . Cells.SpecialCells ( xlCellTypeLastCell ) . Row _
Pour 1 Étape 1
Si WorksheetFunction.CountA ( . Lignes ( x ) ) = 0 Then
< p> ActiveSheet.Rows (x). Supprimer
End If
Suivant
la commande " Cells.Replace " End With
qui comprend l' deux lignes directement sous elle , ressemble à toutes les cellules qui comprennent juste un espace vide , et remplace l'espace avec rien . Le processus de suppression ne reconnaît pas un espace vide comme une cellule vide , donc sans ce morceau de code , n'importe quelle ligne avec juste un espace vide ne soit pas supprimé . La commande " " a le début de code à la dernière cellule de la feuille et de travailler son chemin vers le sommet . Le "if" vérifie si la ligne est vide, et puis le supprime s'il est
5
Copiez et collez le code suivant directement sous le dernier morceau de code suivant: .
< p> En application
. Calcul = xlCalculationAutomatic
. ScreenUpdating = True
End With End Sub
Ce code met simplement les réglages " ScreenUpdating " retour à la normale et puis " Calcul " et ferme le code avec " End sub ". Appuyez sur "Alt" et "F11" pour quitter la console VBA. Toutes vos modifications sont enregistrées automatiquement .
6
Cliquez sur l'onglet " développeur" en haut de l'écran. Cliquez sur le bouton "Macro " pour faire apparaître une liste de vos macros. Sélectionnez la macro " DeleteBlankRows " et appuyez sur "Exécuter". La macro va supprimer toutes les lignes vides à partir de votre feuille de calcul.