That should not be the question. The question should be what it should do. See and follow Command Query Separation:
So both, functions and subs, are procedures. Both can have parameters (which could be used for quasi return values if declared ByRef), but only functions can have a return value...