Forum Discussion
Adding new Excel Functions
- Aug 12, 2021
If the function is intended for use in a specific workbook, make sure that you create the code for the function in a standard module in that workbook. A standard module is the type of module that you create by selecting Insert > Module in the Visual Basic Editor.
It won't work if you create the code in the code module of a worksheet or in the ThisWorkbook module.
Make sure that you save the workbook as a macro-enabled workbook (*.xlsm or *.xlsb); if you save it as a .xlsx workbook, all VBA code will be lost.
If the function should be available in all open workbooks, you must create it in your personal macro workbook PERSONAL.XLSB. If you don't have this yet, you must create it by recording a macro in your Personal Macro Workbook:
After that, you can remove the dummy macro that you recorded, and create your own functions.
To refer to a function in your personal macro workbook in a formula, prefix it with PERSONAL.XLSB. For example:
=PERSONAL.XLSB!MyFunction()
or
=PERSONAL.XLSB!MyFunction(A1,A2)
When you quit Excel, it will prompt you to save changes in PERSONAL.XLSB. Answer Yes!
As an aside I wanted to award "likes" to both you and Hans for your helpful contributions. However, while I can apparently view likes awarded by others (not that there are any in this thread), there seems to be no way to award them myself.
Can't you click on the little thumb-up icon?
- Dicky_g141Aug 16, 2021Brass ContributorAha! A bit of finger trouble there. It seems that I have been clicking on "Likes" rather than the thumb! Problem sorted thank you.
- Dicky_g141Aug 16, 2021Brass ContributorHello Hans. Indeed I can but that just takes me to a view of who has previously liked the posting. It does not allow me to add a like.