24小时热门版块排行榜    

查看: 1363  |  回复: 5

gis-li

金虫 (小有名气)

[求助] 关于Excel VBA数组操作 已有2人参与

请教各位,我想在VBA里自定义一个函数,是对数组进行某种操作的,能不能实现像内部函数UBound(Arr)一样,不管Arr的数据类型是Sting,Integer或者Long,都可以使用该函数而不报类型不匹配错误。比如如下调用UBound都是没问题的。
Dim a(5) as String
Dim b(10) as Long
Dim n as Integer
n=UBound(a)  
n=UBound(b)  

那么我该如何自定义一个函数也可以 不受数组存储数据类型限制,以执行Test()不报类型不匹配的错误。

Public Function myFun(Arr() as ?) as Boolean
'-------------
End Function

Private Sub Test()

    Dim Arr1(5) as String
    Dim Arr2(10) as Integer

    Msgbox myFun(Arr1)
    Msgbox myFun(Arr2)

End Sub
回复此楼
快乐科研
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

deephill

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
gis-li: 金币+5 2014-12-26 17:05:16
我觉得你可以在 test函数中,先判断参数的数据类型,再分别处理,最后输出统一结果。 这样分别处理就不错了。
2楼2014-12-26 10:13:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gis-li

金虫 (小有名气)

引用回帖:
2楼: Originally posted by deephill at 2014-12-26 10:13:21
我觉得你可以在 test函数中,先判断参数的数据类型,再分别处理,最后输出统一结果。 这样分别处理就不错了。

在Test里做判断?那不是我要写多个myFun函数?

我是想如何不在调用函数时做这些判断,即使必须做类型判断也是在myFun里边做,这样函数myFun就具有通用性了,省的不同类型的数组还得调用不同的函数。
快乐科研
3楼2014-12-26 10:52:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gis-li

金虫 (小有名气)

当然在myFun里判断的前提是怎么设置"Arr() As 类型",能先调用myFun而不报错.
快乐科研
4楼2014-12-26 10:57:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhouxiaochun

铁杆木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
gis-li: 金币+10, ★有帮助 2014-12-27 22:26:23
Arr as Varient
数组只需要传数组名
5楼2014-12-26 22:10:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gis-li

金虫 (小有名气)

引用回帖:
5楼: Originally posted by zhouxiaochun at 2014-12-26 22:10:20
Arr as Varient
数组只需要传数组名

这个对于内部自带类型确实可以,多谢。

我的程序中还涉及一个自定义类型数据的数组,按照这种参数设置就不行了,提示“只有定义在公共模块中用户定义类型能和变体类型相互转换或传递给后期绑定功能”,请问如何改进?
快乐科研
6楼2014-12-27 22:41:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gis-li 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 22:26 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:15 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:06 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:06 by XQNyDCa1Tk5n
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +3 wangyl_123 2026-10-10 6/300 2026-10-11 15:04 by Abin0406
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 14:25 by VOMexwnDzOFZ
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:51 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:54 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[教师之家] 课题组会帮你通过考核么? +3 好运来~9527 2026-10-10 5/250 2026-10-11 09:00 by 好运来~9527
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
[有机交流] 各位大佬,路线设计求助 +6 zapen 2026-10-08 8/400 2026-10-10 15:59 by zapen
[基金申请] 入职后第一次管课题组的专利缴费,对账才发现官费比别人多掏了一倍 +5 13108017953 2026-10-08 5/250 2026-10-10 11:15 by wdwd123
[有机交流] 我应该选哪条合成路线让实验成功率高一些? +5 jing816y 2026-10-08 9/450 2026-10-10 09:05 by zapen
信息提示
请填处理意见