when you say "write code for your specific case" how would I do this? (I thought the criteria had to be entered using a range?)
I mean write code that does not use the Advanced Filter but that performs a similar function. An ex., a function might accept an array with the data table, a column index and a criterion value, and would return an array with only the rows where the value in the data table in the specified column satisfies the criterion.
For ex, you have an array vData(1 to 4, 1 to 3) with the values
1,"a",true
2,"b",false
3,"c",true
4,"d",false
You would write a function that you could call like
Code:
vResult = FilterCol(vData, 3, False)
that would return an array vResult with only the rows 2 and 4 of the vData array, that are the rows where column 3 is equal to False.
This is, of course, a solution with a very limited scope, not a general solution like the Advanced Filter. You would have to design a solution to solve your specific problem.
Also when you say "Notice that you have the same problem with the database functions" are you referring to SQL using ADO/Jet?
No, I mean the excel database functions, that also use a criteria range, like DSum(), DCount(), DMax(), etc.