Filter
Returns a zero-based array containing a subset of a string array based on a specified filter criteria.
Syntax: Filter( sourcearray, match [ , include [ , compare ] ] )
- sourcearray
- required One-dimensional array of strings to be searched.
Note
twinBASIC also takes a sourcearray whose elements are of a type other than String or Variant, such as Long or Double. For a Long array VB6 and 64-bit VBA raise error 13, Type mismatch.
- match
- required String to search for.
- include
- optional Boolean value indicating whether to return substrings that include or exclude match. If include is True, Filter returns the subset of the array that contains match as a substring. If include is False, Filter returns the subset of the array that does not contain match as a substring.
- compare
- optional Numeric value indicating the kind of string comparison to use. See settings below.
The compare argument can have the following values:
| Constant | Value | Description |
|---|---|---|
| vbBinaryCompare | 0 | Performs a binary comparison. |
| vbTextCompare | 1 | Performs a textual comparison. |
The array returned by the Filter function contains only enough elements to contain the number of matched items.
Common Errors
| Error | When |
|---|---|
5 (&H5), Invalid procedure call or argument | compare is less than 0, or greater than 1 and not a valid locale identifier |
13 (&HD), Type mismatch | sourcearray is Null, or has more than one dimension |
94 (&H5E), Invalid use of Null | match, include or compare is Null, or an element of sourcearray is Null |
Note BETA 1034
When compare is 2 (vbDatabaseCompare), VB6 raises error 5 (&H5), Invalid procedure call or argument; twinBASIC raises none.