User Defined Function not showing with up "="

Brass Contributor

I have a few UDFs' that i have written for practice since i'm just getting into the programming portion of VBA.  I have 3 Projects in my vba window. 1 for macros, 1 for my UDF, and the last one is whatever workbook i have opened.

 

My question is how can i get my functions to show up when typing "=".  I have searched google and the only answer that i came up with is i have to attach the module that has the function into the current workbook.  My functions do work and show up when using "=" but it is a little annoying to have to attach them to every workbook i create since im dealing with new and multiple workbooks everyday.  I also know that the "insert function" is under the formula tab and that works as well but still an annoyance.

 

Just seems like there is an easier better way.

 

Yes the functions are public, No the module names are not the same as the function name.

8 Replies

Hi Katrina,

 

You can save the UDFs in the Personal Macro Workbook in order to make them available to all open workbooks.

 

For more info, please check out this link.

 

Hope that helps

TRIED THIS. DOES NOT WORK. I HAVE TO ATTACH A COPY OF THE MODULE DIRECTLY TO THE WORKSHEET IM USING FOR IT TO SHOW UP WHEN TYPING "=". DOES THERE HAVE TO BE SOMETHING SPECIAL IN THE CODE FOR IT TO WORK? RIGHT NOW IT JUST LOOKS LIKE;

OPTIONS EXPLICIT
PUBLIC FUNCTION BUYBACK (SUBCAT AS STRING, UPRICE AS SINGLE)
IF CODE YADADADADADA
END IF
END FUNCTION.

DIDN'T FEEL LIKE PUTTING THE MILE LONG CODE LOL.

Hi Katrina,

 

I'm sorry about that!

I forgot that this only works in the subroutines (Subs), not in the functions!

 

With regards to the functions, you need to create a new workbook and save the function in a module in this workbook, then you have to save this workbook as Excel Add-in (*.xlam) file extension.

 

After that, you need to copy this workbook into the XLSTART folder.

 

To locate this folder, please follow this path:

C:\Users\<username>\AppData\Roaming\Microsoft\Excel\XLSTART

 

But please note that the code you attached seems to be wrong!

It's Option Explicit (Option without s).

Also, you have to remove the period (.) after the End Function!

 

Hope that helps

lol there is an s and no period in my actual code, those are just typos from when i was writing it here.

btw that worked! thank you so much. sorry about the all caps had caps lock on.
Your Post Saved Me Today!!! I fought with a user defined function for hours, could not get it to work just kept getting the "#NAME!" error.

Then, read your post and forgot to put it in the XLSTART folder.

Thanks!

@katrina bethea 

 

You can use Insert -> Function -> (selet a category) User Defined. The you will get list of functions defined in personal.xls or other .xla(m) file which is in xlstart directory.

Thank you this worked for me.