Como usar a função vba filter?
A função VBA FILTER está listada na categoria da tabela de funções VBA. Quando você o usa no código VBA, ele pode retornar strings de uma matriz de strings com base na string especificada como subset . Em termos simples, ele pode especificar uma string e irá procurar todos os valores onde essa string faz parte da string principal.
Sintaxe
Filter(ArraySource,Match,[Incluir],[Comparar])
Argumento
- SourceArray : o array com as strings a serem filtradas.
- Correspondência : a string que você deseja filtrar no SourceArray.
- [Incluir] : Este é um booleano para definir se o valor climático a ser filtrado inclui a correspondência ou não [Este é um argumento opcional e se omitido, o padrão do VBA é TRUE].
- [Compare] : Um valor de string para definir a comparação a ser executada ao filtrar o array [Este é um argumento opcional e se omitido, o VBA usa vbBinaryCompare por padrão].
- vbBinaryCompare: para comparação binária.
- vbTextCompare: para comparação de texto.
- vbDatabaseCompare: para comparação de banco de dados.
Exemplo
Para entender de forma prática como usar a função VBA FILTER, você precisa seguir o exemplo abaixo, onde escrevemos um código VBA usando-a:
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
No código acima, usamos FILTER para obter o valor do array (myAry tem valores das células que definimos) que inclui ‘Sh’ nele, e agora, ‘nameAry’ inclui ‘Jay Sh’ e ‘Peter Sh’ porque ambos contêm “Sh”.
Comentários
- Se a matriz de origem fornecida for NULL, o VBA retornará um erro.
- A matriz retornada pelo filtro será sempre uma matriz unidimensional baseada em zero.