Comment utiliser la fonction VBA FILTER ?
La fonction VBA FILTER est répertoriée dans la catégorie tableau des fonctions VBA. Lorsque vous l’utilisez dans un code VBA, il peut renvoyer des chaînes à partir d’un tableau de chaînes basé sur la chaîne que vous avez spécifiée en tant que sous-ensemble . En termes simples, il peut spécifier une chaîne et il recherchera toutes les valeurs où cette chaîne fait partie de la chaîne principale.
Syntaxe
Filter(TableauSource,Match,[Inclure],[Comparer])
Argumentation
- SourceArray : Le tableau avec les chaînes à filtrer.
- Match : La chaîne que vous souhaitez filtrer dans SourceArray.
- [Inclure] : Il s’agit d’un booléen pour définir si la valeur météo à filtrer inclut la correspondance, ou n’inclut pas [Ceci est un argument facultatif et s’il est omis, VBA prend VRAI par défaut].
- [Compare] : Une valeur de chaîne pour définir la comparaison à effectuer lors du filtrage du tableau [Ceci est un argument facultatif et s’il est omis, VBA prend vbBinaryCompare par défaut].
- vbBinaryCompare : pour la comparaison binaire.
- vbTextCompare : pour la comparaison de texte.
- vbDatabaseCompare : pour la comparaison de bases de données.
Exemple
Pour comprendre pratiquement comment utiliser la fonction VBA FILTER, vous devez passer par l’exemple ci-dessous où nous avons écrit un code vba en l’utilisant :
Sub example_FILTER()
Dim nameAry As Variant
Dim myAry(0 To 4) As String
myAry(0) = Range("A1").Value
myAry(1) = Range("A2").Value
myAry(2) = Range("A3").Value
myAry(3) = Range("A4").Value
myAry(4) = Range("A5").Value
nameAry = Filter(myAry, "Sh")
End Sub
Dans le code ci-dessus, nous avons utilisé FILTER pour obtenir la valeur du tableau (myAry a des valeurs des cellules que nous avons définies) qui inclut « Sh » dedans, et maintenant, « nameAry » inclut le « Jay Sh » et « Peter Sh » car les deux contiennent « Sh ».
Remarques
- Si le tableau source que vous avez fourni est NULL, VBA renverra une erreur.
- Le tableau renvoyé par le filtre sera toujours un tableau unidimensionnel et de base zéro.