中易网

VB自定义函数:2个参数都是数组,返回值也是数组。请问如何定义及调用?

答案:2  悬赏:70  
解决时间 2021-01-10 21:55
VB自定义函数:2个参数都是数组,返回值也是数组。请问如何定义及调用?
最佳答案
接收的有问题,PD返回的是字符串数组,而用aa(i)接收肯定不对,aa的一个元素是字符串类型。
aa这样定义:dim aa(Q) as Variant
这样数组中的元素也是数组,即嵌套数组了。
访问的时候这样: msgbox aa(1)(2)追问aa(1)(2)能解释一下吗?(1)代表什么?(2)代表什么?
我是想把这些数据全部用变量算出来,之后赋值到EXCEL表格中去,s1代表第一列,s2代表第二列 。循环的 i 代表行。那aa(1)(2)这样的话我该怎么赋值到表啊?不会访问了……追答这是例子,是数组下标了,就像下面例子只能这样访问了。
dim b(4) as string
b(4)="北京"
dim a(4)
a(1)=b
msgbox a(1)(4)
PD返回的是不是算一列,那就第一个下标表示列,第二个表行。
全部回答
很久没有用vb了,但是印象中变量定义中不能用变量,就是说 Dim aa(Q) 可能有问题,要是我就会这么写:
Dim aa() as string
Q=5
Redim aa(Q)
不过就算你这么改了估计还是会有问题,因为aa(i)是一个特定的数组元素,而pd返回的是整个数组。
另外,我也不确定自定义函数是不是能输出数组,如果是我就会把function改成sub,然后将储存输出结果的数组用传址(byref)传到过程中,在过程中修改数组的值追问可是sub没有返回值,function才有返回值。而我要的就是这个返回值啊。像你那样做的话我岂不是要定义几十个数组了?因为我有几十个同类数据……而function的话就不用那么定义了,只需要调用时更换参数就好了……不知道我想的对不对?追答所以要你传址啊,传址以后在被调用过程中的修改也会影响到调用它的过程
把function那一行改成
sub pd2(x() as integer,y() as integer,wz as integer,ByRef pd() as string)
然后把里面的 x,y 改成x(i),y(i)

把父过程中的 aa(i)=pd(...)删掉
在next 后写
call pd2(n1arr(),n2arr(),0,aa())
然后再写如何用aa()的代码
for i=0 to q
debug.print aa(i)
next
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么同一双鞋子不能天天穿
dnf飞机会封号吗
平男男友脚踏三条船,各位平男,我该怎么做吗
偕这个字读什么音
想问一下BTS 旅行吧怎么购买? 我知道是在音
什么是罗马鞋?
刺心° promise什么意思
男女生拍拍拍时男生的下半身的那个因该放哪?
请问手机乐园下载的软件在哪啊?
驾驶证一次性扣除12分如何消分啊
麦多美食城地址在什么地方,想过去办事
韩后化妆品有淡斑的吗
有没有哪里有卖50*50*50再稍微大一点的礼品盒
是不是开拳击馆不挣钱
永胜电脑(中心路人民法院旁)地址好找么,我有
推荐资讯
哪首歌的歌词有“你说我爱你太多,就快要把你
tom is a kind boy.he always _(help) _ (he)
oppor9m不开机是什么原因
春联求助,请帮忙对福春联:九曲黄河水黄育中
非常怀念小时候啊
东张各庄村地址在什么地方,想过去办事
兄弟图文怎么去啊,我要去那办事
王刚广播剧《亮剑》下载网址
求I社新作真实游戏(Real Play)汉化版种子和安
问我是哪个大学毕业的 我很自豪的说:复旦大
印光大师所说韩欧程朱是谁?
房产证写用途为“住宅”,实际一楼是街边商铺
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?