No, you were clear, obviously I was not 
The issue is not the arguments but rather where the function was called from.
Your function will work when called from the immediate window or when used in a running macro. It will not work when called from the worksheet.
Normally functions called from the worksheet that manipulate the worksheet or other objects will result in an error.
Some objects, such as SpecialCells, do not error BUT they also do not work correctly.
Take the example in the attached file. It simply returns the sum of formula cells.
When called from the immediate window it works correctly
Immediate window
When called from the worksheet it returns this incorrect result
So again the problem is not your code but where you are using it.
Bookmarks