Forum Discussion

katrina bethea's avatar
katrina bethea
Brass Contributor
Nov 14, 2018

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.

  • zbertalanic's avatar
    zbertalanic
    Copper Contributor

    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.

    • katrina bethea's avatar
      katrina bethea
      Brass Contributor
      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.
      • Haytham Amairah's avatar
        Haytham Amairah
        Silver 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

Resources