Code VBA pour filtrer les données dans Excel (8 exemples)

  • Partage Ça
Hugh West

Excel Commande Trier & Filtrer a une portée limitée à Données du filtre Mais en utilisant VBA vous pouvez Données du filtre Cet article vous fournira 8 exemples utiles à utiliser dans le cadre de votre travail. VBA code pour Données du filtre dans excel en utilisant VBA codes avec des illustrations vivantes.

Télécharger le cahier d'exercices

Vous pouvez télécharger le modèle Excel gratuit ici et vous exercer par vous-même.

Code VBA pour filtrer les données.xlsm

8 exemples d'utilisation du code VBA pour filtrer des données dans Excel

Commençons par présenter notre jeu de données qui représente quelques le sexe, le statut et l'âge des étudiants .

1. utiliser le code VBA pour filtrer les données en fonction d'un critère texte dans Excel

Dans notre tout premier exemple, nous allons utiliser VBA à Filtre seulement Homme des étudiants de la Genre de l'ensemble de données.

Des pas :

  • Cliquez à droite sur sur le titre de la feuille .
  • Puis sélectionnez View Code de la Menu contextuel .

Peu après, un VBA s'ouvrira.

  • Type les éléments suivants codes en elle.
 Sub Filter_Data_Text() Worksheets("Text Criteria").Range("B4").AutoFilter Field:=2, Criteria1:="Male" End Sub 
  • Plus tard, minimisez le VBA

Découpage du code

  • Ici, j'ai créé un Sous procédure, Texte des données filtrées() .
  • Ensuite, j'ai utilisé le Gamme pour déclarer nos nom de la feuille et gamme
  • Ensuite, j'ai utilisé la méthode AutoFilter à utiliser Critères de mon choix où Champ:=2 signifie colonne 2 . et Critère1:="Homme" à Filtre les données pour Homme.
  • Après cela, pour Ouvrir le site le site Boîte de dialogue Macros , cliquez sur comme suit : Développeur> ; Macros.

  • Sélectionnez le site Nom de la macro comme mentionné dans le codes .
  • Enfin, juste appuyez sur Run .

Regardez maintenant que nous avons seulement Données sur les étudiants masculins après Filtrage .

Lire la suite : Filtre Excel sur les données basées sur la valeur des cellules (6 façons efficaces)

2. appliquer le code VBA pour filtrer les données avec plusieurs critères dans une colonne

Ici, nous allons Filtre pour plusieurs critères dans une colonne. À partir de la colonne numéro trois de l'ensemble de données, nous allons Filtre pour Diplômé et Postgraduate étudiants.

Des pas :

  • Suivez les deux premières étapes de la premier exemple pour ouvrir le Fenêtre VBA .
  • Plus tard, type les éléments suivants codes en elle.
 Sub Filter_One_Column() Worksheets("One Column").Range("B4").AutoFilter Field:=3, Criteria1:="Graduate", Operator:=xlOr, Criteria2:="Postgraduate" End Sub 
  • Ensuite, minimisez le VBA

Découpage du code

  • Ici, j'ai créé un Sous procédure, Filtre_Une_Colonne() .
  • Ensuite, j'ai utilisé le Gamme pour déclarer nos nom de la feuille et gamme
  • Ensuite, j'ai utilisé la méthode AutoFilter pour utiliser le Critères de mon choix où Champ:=3 signifie colonne 3 ... ici, Critère1:="Diplômé" et Critère2:="Postgraduate" à Filtre de l'élève Statut .
  • Enfin, j'ai utilisé Opérateur:=xlOr pour appliquer OU condition Filtre pour des critères multiples.
  • En ce moment, suivez le site troisième étape de la premier exemple pour ouvrir le Dialogue des macros boîte .
  • Plus tard, sélectionnez l'article spécifié Nom de la macro et appuyez sur Run .

Peu après, vous obtiendrez les lignes filtrées en fonction de plusieurs critères, comme dans l'image ci-dessous.

Lire la suite : Filtrer des critères multiples dans Excel (4 façons appropriées)

3. appliquer le code VBA pour filtrer des données avec plusieurs critères dans différentes colonnes d'Excel

Maintenant, nous allons Filtre pour de multiples critères- Homme et Diplômé étudiants.

Des pas :

  • Suivez les deux premières étapes de la premier exemple pour ouvrir le VBA
  • Plus tard, écrire les éléments suivants codes en elle.
 Sub Filter_Different_Columns() With Worksheets("Different Columns").Range("B4") .AutoFilter Field:=2, Criteria1:="Male" .AutoFilter Field:=3, Criteria1:="Graduate" End With End Sub 
  • Après cela minimiser la fenêtre VBA .

Découpage du code

  • Ici, j'ai créé un Sous procédure, Filtre_Différentes_Colonnes() .
  • Ensuite, j'ai utilisé le Avec pour utiliser Colonne multiple .
  • Ensuite, j'ai utilisé le Gamme pour déclarer nos nom de la feuille et gamme
  • Ensuite, j'ai utilisé la méthode AutoFilter à utiliser Critères de mon choix où Champ:=2 signifie colonne 2 et Champ:=3 signifie colonne 3 .
  • Ici, on a sélectionné Critère1:="Homme" pour Genre et Critère1:="Diplômé" pour Statut colonne à Filtre données de différentes colonnes .
  • Puis suivre la troisième étape de la premier exemple pour ouvrir le Boîte de dialogue Macros .
  • Plus tard, sélectionnez l'article spécifié Nom de la macro et appuyez sur Run .

Voici le résultat des critères multiples.

Lire la suite : Excel VBA pour filtrer dans la même colonne par plusieurs critères (6 exemples)

4. utiliser le code VBA pour filtrer les 3 premiers éléments dans Excel

Dans cet exemple, nous allons filtrer le les trois meilleurs étudiants en fonction de leur âge .

Des pas :

  • Suivez les deux premières étapes de la premier exemple pour ouvrir le Fenêtre VBA .
  • Puis type les éléments suivants codes en elle.
 Sub Filter_Top3_Items() ActiveSheet.Range("B4").AutoFilter Field:=4, Criteria1:="3", Operator:=xlTop10Items End Sub 
  • Après cela, minimisez le Fenêtre VBA .

Découpage du code

  • Ici, j'ai créé un Sous procédure, Filtre_Top3_Items() .
  • Et ensuite utilisé Opérateur:=xlTop10Items à Filtre pour les trois premiers données .
  • Maintenant suivre la troisième étape de la premier exemple pour ouvrir le Dialogue des macros boîte .
  • Puis sélectionnez le nom de la macro comme mentionné dans les codes et appuyez sur Run .

Ensuite, vous obtiendrez la sortie comme l'image ci-dessous -

Lire la suite : Comment filtrer en fonction de la valeur d'une cellule en utilisant Excel VBA (4 méthodes)

Lectures similaires

  • Comment copier et coller lorsqu'un filtre est appliqué dans Excel ?
  • Comment filtrer les valeurs uniques dans Excel (8 méthodes simples)
  • Filtrer plusieurs critères dans Excel avec VBA (types AND et OR)
  • Comment utiliser le filtre texte dans Excel (5 exemples)
  • Comment filtrer par date dans Excel (4 méthodes rapides)

5. utiliser le code VBA pour filtrer les 50 premiers pourcentages dans Excel

Utilisons VBA pour filtrer les codes les cinquante premiers pour cent d'étudiants en fonction de leur âge .

Des pas :

  • D'abord, Suivez les deux premières étapes de la premier exemple pour ouvrir le Fenêtre VBA .
  • Plus tard, type les éléments suivants codes en elle.
 Sub Filter_Top50_Percent() ActiveSheet.Range("B4").AutoFilter Field:=4, Criteria1:="50", Operator:=xlTop10Percent End Sub 
  • Réduisez au minimum le Fenêtre VBA .

Découpage du code

  • Ici, j'ai créé un Sous procédure, Filtre_Top50_Percent() .
  • Plus tard, utilisé Opérateur:=xlTop10Percent à Filtrez les les cinquante pour cent supérieurs de colonne-4 .
  • En ce moment, suivre la troisième étape de la premier exemple pour ouvrir le Boîte de dialogue Macros.
  • Puis sélectionnez l'article spécifié Nom de la macro et appuyez sur Run .

Il y avait un total de 7 étudiants donc pour 50 %. il montre environ trois étudiants .

Lire la suite : Comment utiliser la formule du pourcentage de profit dans Excel (3 exemples)

6. appliquer le code VBA pour filtrer les données à l'aide de caractères génériques

Nous pouvons utiliser Caractères génériques-* (astérisque) sur Codes VBA pour filtrer les données dans Excel. Colonne d'état nous filtrerons uniquement le les valeurs qui contiennent "Post". .

Des pas :

  • Suivez les deux premières étapes de la premier exemple pour ouvrir le Fenêtre VBA .
  • Puis écrire les éléments suivants codes en elle.
 Sub Filter_with_Wildcard() ActiveSheet.Range("B4").AutoFilter Field:=3, Criteria1:="*Post*" End Sub 
  • Plus tard, minimisez le Fenêtre VBA .

Découpage du code

  • Ici, j'ai créé un Sous procédure, Filtre_avec_Wildcard() .
  • Puis utilisé Gamme ("B4") pour définir la gamme.
  • Suivant , utilisé AutoFiltre à Filtre sur Champ:=3 signifie colonne 3.
  • Critère1:="*Post*" à Filtre les valeurs qui contiennent "Post".
  • Maintenant suivre la troisième étape de la premier exemple pour ouvrir le Boîte de dialogue Macros.
  • Sélectionnez l'article spécifié Nom de la macro et appuyez sur Run .

Vous obtiendrez alors le résultat souhaité.

Lire la suite : Comment ajouter un filtre dans Excel (4 méthodes)

7. incorporer Excel VBA pour copier des données filtrées dans une nouvelle feuille d'Excel

Vous voyez qu'il y a des données filtrées dans mon jeu de données. Maintenant, je vais les copier dans une nouvelle feuille en utilisant la méthode suivante VBA . Ces codes ne fonctionneront pas correctement dans la feuille, vous devrez les appliquer dans le module.

Des pas :

  • Appuyez sur Alt+F11 pour ouvrir le VBA

  • Cliquez ensuite sur Insérer> ; Module à ouvrir un module .

  • Maintenant écrire les éléments suivants codes -
 Sub Copy_Filtered_Data_NewSheet() Dim xRng As Range Dim xWS As Worksheet If Worksheets("Copy Filtered Data").AutoFilterMode = False Then MsgBox "Noo filtered data" Exit Sub End If Set xRng = Worksheets("Copy Filtered Data").AutoFilter.Range Set xWS = Worksheets.Add xRng.Copy Range("G4") End Sub 
  • Ensuite, minimisez le VBA

Découpage du code

  • Ici, j'ai créé un Sous procédure, Copie_des_données_filtrées_de_la_nouvelle_feuille() .
  • Après cela, on déclare deux variables- x Rng En tant que gamme et xWS Comme feuille de travail.
  • Puis utilisé un Déclaration IF pour vérifier Filtré
  • Plus tard, utilisé MsgBox pour afficher la sortie.
  • Puis utilisé Worksheets("Copy Filtered Data").AutoFilter.Range pour sélectionner le Filtré gamme et utilisé Ajouter pour ajouter une nouvelle feuille.
  • Enfin, Copie Range("G4") copiera le Filtré données au nouvelle feuille .
  • Plus tard, suivre la troisième étape de la premier exemple pour ouvrir le Boîte de dialogue Macros .
  • Puis sélectionnez l'article spécifié Nom de la macro et appuyez sur Run .

Vous voyez maintenant qu'Excel a ouvert une nouvelle feuille et copié les lignes filtrées.

Lire la suite : Raccourci pour le filtre Excel (3 utilisations rapides avec exemples)

8. appliquer le code VBA pour filtrer les données à l'aide d'une liste déroulante

Dans notre dernier exemple, nous allons d'abord créer une liste déroulante pour les genres, puis nous l'utiliserons pour filtrer les données. Pour cela, j'ai placé les critères de genre à un autre endroit et nous allons créer une liste déroulante dans le champ Cellule D14 .

Des pas :

  • Sélectionnez Cellule D14 .
  • Puis cliquez sur comme suit : Données> ; Outils de données> ; Validation des données> ; Validation des données.

Peu après, un boîte de dialogue s'ouvrira.

Sélectionner la liste de la Autoriser la liste déroulante .

Puis cliquez sur l'icône Ouvrir de la Boîte à source .

Maintenant sélectionnez la plage de critères et appuyez sur le bouton Enter .

  • En ce moment, juste appuyez sur OK .

Maintenant, notre liste déroulante La liste est prête.

  • Maintenant Suivez les deux premières étapes de la premier exemple pour ouvrir le Fenêtre VBA .
  • Puis écrire les éléments suivants codes en elle.
 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$14" Then If Range("D14") = "All" Then Range("B4").AutoFilter Else Range("B4").AutoFilter Field:=2, Criteria1:=Range("D14") End If End Sub 
  • Puis minimiser la fenêtre VBA .

Découpage du code

  • Ici, j'ai créé un Private Sub procédure, Worksheet_Change(ByVal Target As Range).
  • Ensuite, j'ai sélectionné Feuille de travail de Général et Changement de Déclarations .
  • Définissez ensuite le Adresse pour connaître l'emplacement.
  • Enfin, au sein de la SI a utilisé le AutoFiltre méthode avec Champ et Critères
  • Maintenant, juste sélectionnez des critères dans la liste déroulante et le Le filtre sera activé .

Voici le Filtré après avoir sélectionné Homme de la liste déroulante .

Lire la suite : Comment filtrer par liste dans une autre feuille d'Excel (2 méthodes)

Section pratique

Vous obtiendrez une feuille d'exercice dans le fichier Excel donné ci-dessus pour mettre en pratique les méthodes expliquées.

Conclusion

J'espère que les procédures décrites ci-dessus seront assez bonnes pour utiliser VBA code pour Filtre N'hésitez pas à poser vos questions dans la section des commentaires et à me faire part de vos réactions.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.