Home |
Search |
Today's Posts |
|
#1
![]() |
|||
|
|||
![]() I wrote a simple function using VBA Editor. Function prevDay(Ref) Application.Volatile prevDay = Sheets(Application.Caller.Parent.Index - 1).Range(Ref.Address) End Function When I call it Excel gives me #NAME? error. Do I need to register it somehow? sorry for a bloody beginner question and thanks in advance for any help. /mark |
#2
![]() |
|||
|
|||
![]()
Did you put the code in a standard code module of the same workbook.
-- HTH Bob Phillips "Mark Dvorkin" wrote in message ... I wrote a simple function using VBA Editor. Function prevDay(Ref) Application.Volatile prevDay = Sheets(Application.Caller.Parent.Index - 1).Range(Ref.Address) End Function When I call it Excel gives me #NAME? error. Do I need to register it somehow? sorry for a bloody beginner question and thanks in advance for any help. /mark |
#3
![]() |
|||
|
|||
![]()
Hi Mark,
Make sure you place your code in a standard module (e.g. Module1) and not in class module (e.g. ThisWorkbook, Sheet1, UserForm1, etc.) Regards, KL "Mark Dvorkin" wrote in message ... I wrote a simple function using VBA Editor. Function prevDay(Ref) Application.Volatile prevDay = Sheets(Application.Caller.Parent.Index - 1).Range(Ref.Address) End Function When I call it Excel gives me #NAME? error. Do I need to register it somehow? sorry for a bloody beginner question and thanks in advance for any help. /mark |
#4
![]() |
|||
|
|||
![]()
Where is your function stored?
To call it with just its name, it should be in a regular code module in your workbook (in the VBE, Insert/Module), rather than in the ThisWorkbook or a worksheet module. If you want to leave it in ThisWorkbook or a sheet module (and there's no reason to), you'll have to qualify the location of the function: =ThisWorkbook.prevDay(A1) If it's in a regular code module in a different workbook (like the Personal.xls workbook), you'll need to add the workbook name: =Personal.xls!prevDay(A1) Alternatively, you could create an add-in, with the code in a regular code module, and you can use the name just as if it were in your workbook. In article , Mark Dvorkin wrote: I wrote a simple function using VBA Editor. Function prevDay(Ref) Application.Volatile prevDay = Sheets(Application.Caller.Parent.Index - 1).Range(Ref.Address) End Function When I call it Excel gives me #NAME? error. Do I need to register it somehow? sorry for a bloody beginner question and thanks in advance for any help. |
#5
![]() |
|||
|
|||
![]()
thanks to all of you.
Indeed I placed the function code into class module ThisWorkbook. Once I inserted Module1 and placed it there everything works fine. Thanks again for your help and patience. /mark Mark Dvorkin wrote: I wrote a simple function using VBA Editor. Function prevDay(Ref) Application.Volatile prevDay = Sheets(Application.Caller.Parent.Index - 1).Range(Ref.Address) End Function When I call it Excel gives me #NAME? error. Do I need to register it somehow? sorry for a bloody beginner question and thanks in advance for any help. /mark |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Excel 2003 Slow Function Argument Window | Excel Discussion (Misc queries) | |||
Excel option to store trendline's coefficients in cells for use | Charts and Charting in Excel | |||
Simplify Vlookup function in Excel | Excel Worksheet Functions | |||
I cant use englisch function names in a swedich version of excel | Excel Discussion (Misc queries) | |||
Missing function in Excel 2003 | Excel Discussion (Misc queries) |