Forum Discussion
katrina bethea
Nov 14, 2018Brass Contributor
User Defined Function not showing with up "="
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.
- zbertalanicCopper Contributor
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.
- dmercesCopper Contributor
Hikatrina bethea
Read this: https://stackoverflow.com/questions/22561422/excel-udf-not-appearing-in-drop-down-menuWorked for me like a charm!
Regards - Haytham AmairahSilver Contributor
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
- katrina betheaBrass ContributorTRIED 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.- Haytham AmairahSilver Contributor
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