Re: UDFs: The difference between function and public functio
A User Defined Function's scope is defaulted to Public, so if you don't specify Public it will still be regarded as Public by Excel. Public means for UDFs what it means for other declarations, that being the function can be accessed by other procedures in other modules in the workbook. Private scope makes the UDF accessible to procedures in the same module. The other optional scope is called Static, which keeps the variables' values unchanged between function calls.
A Private UDF does not appear in the Function dialog (something I personally never use anyway), and it is usually specified so a user does not attempt to use it as a formula because the workbook author's intent for the UDF is to support other VBA procedures.
Bottom line to your specific question, Public is the default scope so you can leave it out if you want the UDF to be Public.