首页 / 知识
Excel VBA中的函数重载和UDF
2023-04-15 10:54:00

Function Overloading and UDF in Excel VBA我正在使用Excel VBA编写UDF。 我想用两个不同的版本重载我自己的UDF,以便不同的参数将调用不同的函数。 由于VBA似乎不支持此功能,因此有人可以建议一种实现同一目标的好方法,而不是杂乱无章吗? 我应该使用可选参数还是有更好的方法?
将参数声明为
可以从工作表中将其称为= FOO(),= FOO(number)或= FOO(" string")。 如果您可以通过参数计数来区分,则可以执行以下操作:
如果区分功能的唯一方法是按类型,那么您实际上将必须执行C ++和其他具有被覆盖功能的语言所执行的操作,即按签名进行调用。我建议使通话看起来像这样:
并创建一个具有许多与您期望的签名相匹配的方法的类。但是,您可能需要进行一些错误处理,并警告您可以识别的类型是有限的:例如,日期是TypeName Double。 您可能还想考虑对参数列表使用变量数据类型,然后使用TypeOf语句找出什么类型,然后在找出什么内容时调用适当的函数... VBA杂乱无章。我不确定是否有简单的方法来进行假重载: 过去,我要么使用了大量的Optionals,要么使用了多种功能。例如
我想说说带有可选默认值的可选参数,除非参数列表变得愚蠢,然后创建单独的函数来调用您的案例。 |
最新内容
相关内容
linuxrm命令参数?
linuxrm命令参数?,系统,命令,文件,目录,环境,档案,文件夹,终端,参数,子目录,linux删除目录命令linux删除目录命令是Linux rm命令。rm即linux命linux使用命令的方法?
linux使用命令的方法?,系统,信息,工具,标准,数据,命令,左下角,目录,文件夹,图标,linux的cd命令的使用方法1、cd ~:回到用户家目录。注:这得看你linux命令行定义参数?
linux命令行定义参数?,系统,信息,名称,实时,命令,百分比,工作,周期,选项,参数,在linux系统中每一个命令都只有一种参数可以设定对吗?Linux命令linux命令查询参数?
linux命令查询参数?,网络,信息,设备,系统,服务,状态,情况,工作,地址,命令,Linux常用命令1、linux系统常用操作命令如下:ls:全拼list,功能是列出目linux网络参数命令?
linux网络参数命令?,网络,地址,系统,工作,信息,工具,情况,服务,状态,命令,Linux配置网络参数之IP地址、子网掩码、网关地址,DNSlinux一般使用i调用函数命令linux?
调用函数命令linux?,系统,管理,网络,通用,统一,观察,地址,代码,设备,地方,怎么调用system函数,使用Android的linux命令1、int system(const chlinux的cd命令参数?
linux的cd命令参数?,工作,地址,系统,命令,一致,目录,信息,基础,名称,管理,linux常用命令及用法linux系统常用操作命令如下:ls:全拼list,功能是列linux下cd命令参数?
linux下cd命令参数?,工作,命令,系统,一致,名称,目录,用户,缩写,意思,参数,linux下cd命令是什么?1、首先仅仅从目录切换来看,linux和windows是一linux各种命令的参数?
linux各种命令的参数?,网络,信息,工作,地址,系统,情况,服务,命令,软件,数据,linux系统常用操作命令1、linux常用命令有pwd命令、cd命令、ls命linux命令行参数长度?
linux命令行参数长度?,系统,信息,实时,工具,工作,名称,环境,百分比,标准,情况,Linux系统下top命令的每个参数代表什么意思1、top命令是一个实linux添加命令参数?
linux添加命令参数?,系统,管理,工作,基础,命令,情况,网络,工具,代码,环境,别不信!掌握好这20条Linux基础命令,让你的操作效率直接双倍1、系统linux命令参数长度?
linux命令参数长度?,工作,系统,信息,基础,网络,环境,情况,管理,长度,命令,Linux中du命令参数的用法1、du -0h user -0(杠零)表示每列出一个目