若要使用自定义函数,必须打开包含在其中创建函数的模块的工作簿。 如果该工作簿未打开,你会收到#NAME? 在尝试使用函数时出错。 如果在不同的工作簿中引用函数,则必须在函数名称前面加上函数所在的工作簿的名称。 例如,如果在名为 Personal.xlsb 的工作簿中创建名为 DISCOUNT 的函数,并且从另一个工作簿调用该函数,则必须键入 =personal.xlsb!discount(),而不只是 =discount()。
可以从“插入函数”对话框中选择自定义函数,这样可以节省一些击键次数(以及可能发生的键入错误)。 自定义函数显示在“用户定义”类别中:
使自定义函数随时可用的更简单方法是将它们存储在单独的工作簿中,然后将该工作簿另存为加载项。 然后,每当运行 Excel 时,都可以使加载项可用。 下面是操作方法:
WindowsmacOS
创建所需的函数后,单击“文件”>“另存为”。
在“另存为”对话框中,打开“另存为类型 ”下拉列表,然后选择“Excel 加载项”。 将工作簿保存在 AddIns 文件夹中可识别名称(例如 MyFunctions)下。 “另存为”对话框将建议该文件夹,因此只需接受默认位置。
保存工作簿后,单击“文件”>“Excel 选项”。
在“Excel 选项”对话框中,单击“加载项”类别。
在“管理”下拉列表中,选择“Excel 加载项”。 然后单击“转到”按钮。
在“加载项”对话框中,选中用于保存工作簿的名称旁边的复选框,如下所示。
创建所需的函数后,单击“文件”>“另存为”。
在“另存为”对话框中,打开“另存为类型 ”下拉列表,然后选择“Excel 加载项”。 将工作簿保存在可识别的名称(例如 MyFunctions)下。
保存工作簿后,单击“工具”>“Excel 加载项”。
在“加载项”对话框中,选择“浏览”按钮以查找加载项,单击“打开”,然后在“加载项可用”框中选中加载项旁边的复选框。
执行这些步骤后,自定义函数将在每次运行 Excel 时可用。 如果要添加到函数库,请返回到Visual Basic 编辑器。 如果在 VBAProject 标题下的 Visual Basic 编辑器项目资源管理器中查看,将看到以加载项文件命名的模块。 加载项将具有扩展名 .xlam。
在项目资源管理器中双击该模块会导致 Visual Basic 编辑器显示函数代码。 若要添加新函数,将插入点定位到终止代码窗口中最后一个函数的 End Function 语句之后,然后开始键入。 你可按照此方式创建所需的任何数量的函数,并且它们始终在“插入函数”对话框中的“用户定义”的类别中可用。