Hoe gebruik ik de vba filter-functie?
De VBA FILTER-functie wordt vermeld in de tabelcategorie VBA-functies. Wanneer u het in VBA-code gebruikt, kan het tekenreeksen retourneren uit een array van tekenreeksen op basis van de tekenreeks die u als subset hebt opgegeven . Simpel gezegd kan het een string specificeren en zal het zoeken naar alle waarden waarbij die string deel uitmaakt van de hoofdstring.
Syntaxis
Filter(ArrayBron,Overeenkomen,[Inclusief],[Vergelijken])
Argument
- SourceArray : De array met de tekenreeksen die moeten worden gefilterd.
- Match : de tekenreeks die u wilt filteren in SourceArray.
- [Include] : Dit is een boolean om te definiëren of de te filteren weerwaarde de overeenkomst bevat, of niet [Dit is een optioneel argument en als dit wordt weggelaten, wordt VBA standaard TRUE].
- [Vergelijk] : een tekenreekswaarde om de vergelijking te definiëren die moet worden uitgevoerd bij het filteren van de array. [Dit is een optioneel argument en als dit wordt weggelaten, gebruikt VBA standaard vbBinaryCompare].
- vbBinaryCompare: voor binaire vergelijking.
- vbTextCompare: voor tekstvergelijking.
- vbDatabaseCompare: voor databasevergelijking.
Voorbeeld
Om praktisch te begrijpen hoe u de VBA FILTER-functie kunt gebruiken, moet u het onderstaande voorbeeld doorlopen waarin we er een vba-code mee hebben geschreven:
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
In de bovenstaande code hebben we FILTER gebruikt om de waarde uit de array te halen (myAry heeft waarden uit de cellen die we hebben gedefinieerd) die ‘Sh’ bevat, en nu bevat ‘nameAry’ de ‘Jay Sh’ en ‘Peter’ Sh” omdat beide “Sh” bevatten.
Opmerkingen
- Als de door u opgegeven bronarray NULL is, retourneert VBA een fout.
- De door het filter geretourneerde array zal altijd een eendimensionale, op nul gebaseerde array zijn.