There might be a language problem here ...
A function like
> Function MyQuery(rng as Range, rngtoCheck as Range
> MyQuery =
> IF(ISNUMBER(VLOOKUP(J8;WebQuery;5;FALSE));VLOOKUP(J8;WebQuery;5;FALSE);0)
> End Function
is not rewriting the function, it is using (or calling, or encapsulating)
it.
"Rewriting" would involve writing your own version of VLookUp from scratch.