XLL+ Class Library

Function Wizard Dialog

The picture below shows all the fields of the XLL+ Function Wizard. Click on the area that you wish to know about.

'C' Name

This combobox lists all the add-in functions defined in the source file. Use the combobox to select a different function. If you select a new function, and you have made changes to the current function, then you will be prompted to save them.

To change the function's name, type the new name into the combo. If you use the name of a function that already exists in the source document, you will be prompted to change it.

Back to top

Excel Name

This is the name of the function as it will appear in Excel. The wizard sets it to same value as the 'C' function name, by default. You may wish to change it to improve readability or to fit your naming conventions.

Back to top


This field determines which of Excel’s categories will contain your function when the Excel Function Wizard is invoked. All of Excel’s built-in categories are listed in the combobox. You can also invent your own by typing it into the combobox.

Back to top


This combobox defines the data type of the value which will be returned to Excel. For a list of all data types see Data type codes. Note that some data types which are available as argument types are not available as return types.

Back to top


The description of the function will appear in Excel’s Function Wizard.

Back to top

Worksheet function

If this option is checked, the function can be invoked from an Excel worksheet. This is the normal choice for an add-in function.

Back to top

Macro function

If this option is checked, the function can be invoked from an Excel macro sheet. This is used for command macros, which can be attached to menus, tool buttons and command buttons. If you want to be able to call it directly from a menu or button, then the function should have no arguments.

Back to top


If this option is checked, then the function will marked as volatile. Volatile functions are resolved:

This option is useful when the results of functions are determined by outside factors (such as the current time, or data in a database) in addition to the value of their arguments.

Setting this checkbox is equivalent to adding the ‘!’ character to the end of the function’s argument template. For further details, see the Excel 97 Developer’s Kit.

Back to top

Defer recalculation

Normally, if an argument of type XLOPER is passed from Excel to an addin function, the range to which it refers will be calculated before the function is called. However, some specialised functions may need to avoid this behavior, either to avoid circular dependencies, or because the values in the cell are not of interest. Check this option to defer calculation of range arguments.

This is equivalent to adding the ‘#’ character to the end of the function’s argument template. For further details, see the Excel 97 Developer’s Kit.

Back to top

Arguments grid

The arguments grid contains a list of the arguments which will be passed from Excel to your addin function, in the order in which they will appear.

You can edit the main features of an argument directly in the grid, or you can use the Argument dialog to edit all of its details.

Add a new argument with the Add Argument tool button or by typing Ctrl+I.

You can reorder the arguments by dragging them with the mouse, or by using the Up and Down buttons in the arguments toolbar.

Back to top

Type column

The Type column contains the data type of the argument. This may be any of the following:

If you use a simple data type, you can also specify the dimensions of the argument (single value, vector or matrix).

For more information on argument data types, see Data Types.

Back to top

Name column

This column contains the name of the argument, which must be unique within the function. The same name will be used in both your 'C' code and in Excel. If you type an illegal name, you will be warned.

Back to top

Dimensions column

The dimensions column displays the known dimensions of the argument. You can control how many dimensions the argument has:

Scalar (0 dimensions) A single cell or value.
Vector (1 dimensions) A vector of values. This can be a range of cells with width or height equal to one. (A single cell qualifies as a vector.)
Matrix (2 dimensions) This can be a range of values of any size. (Scalars and vectors also qualify as matrices.)

You can change the dimensions of an argument easily with the Scalar, Vector and Matrix buttons on the Arguments toolbar.

You can also control other aspects of a multi-dimensional argument with the Arguments dialog. You can open the Arguments dialog in several ways:

i Click on the Browse (...) button in the Dimensions column
ii Use the Edit Argument toolbar button
iii Type Ctrl+E  
iv Use the Argument menu  
v Right-click on the argument and use the context menu  

Back to top

Description column

The argument description that you type into this column will appear in the Excel Formula Wizard.

Back to top

ResID (Resource ID) column

If you want an argument name to appear in the Excel Formula Wizard localized to the user's preferred language, then you should enter a numeric resource ID here, preceded by a hash ('#') symbol. This will be replaced in the Formula Wizard by a string in the appropriate language, loaded from the resource file. See International : Argument names for more information.

Note that this column is not always visible. Use the View Argument Resource IDs command to switch it on and off.

Back to top

Preview pane

The preview pane displays the code that will be inserted into your source if you press OK.

You can show and hide the preview pane with the preview command. You can close the preview pane with the close button at the top right of the pane. You can change the size of the preview pane by using the mouse to drag the bar between the preview and argument panes.

Note that the preview pane does not display any code you may have inserted into your function outside the //{{XLP_SRC delimiters. But you can be sure that any such code will be left alone and will not be overwritten by the wizard.

Back to top

See Also

Function Wizard | Summary of Commands | Resizing and Rearranging Windows