中易网

通过EXCEL VBA自定义了一个函数,无法把数组传入到函数中。

答案:2  悬赏:40  
解决时间 2021-02-13 19:11
通过EXCEL VBA自定义了一个函数,无法把数组传入到函数中。
最佳答案
只能传 单元格,然后转数组。如下 
Function MyTest(rng As Range)
    Dim arr() As Variant
   Set arr = rng.Value
    MyTest = UBound(arr)
End Function
全部回答
excel vba数组赋值主要分为一维数组赋值和二维数组赋值两方面来讲,多维数组赋值只要沿用二维的方法即可。在将vba 数组赋值的方法之前,先说下为什么要用数组的方法来写程序吧。使用excel vba数组赋值的主要目的是为了提高程序运行效率,相信用vba编程的童鞋都遇到过程序运行过慢的问题,其中最主要的一个原因就是excel vba程序从头至尾都在操作对象。用excel vba对数组进行赋值,即是将对象的值及相关属性,全部存储到内存中,然后在内存里执行其他程序,这样速度会提高非常多。好了,下面说怎么给excel vba数组进行赋值吧excel vba一维数组赋值的方法int arr(5)={1,2,3,4,5}说明:括号中的5是指数组长度,固定数组在最开始确定好数组长度,使内存分配好空间,免去重定义数组长度,效率会高些。如果不定义数组长度的话,后期可以使用redim来更改。excel vba二维数组赋值的方法arr = [{"a","b"; "e","f" ;"i","j";"m" ,"n"}] arr = range(sheets("文本1").range("a1"), sheets("文本1"). range("a" & cells(65536, 1).end(xlup).row))说明:两种赋值方法如上,一个是赋予固定值,另一个是将某区域内数值全部导入。excel vba重新定义数组的方法redim preserve arr(j)最后说下excel vba二维数组取数据上限的程序,如下,不过要先确定好你的数组是从0开始计数还是从1开始计数的,上面所讲数组赋值的例子都是从1开始计数的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
这段c语言声明是什么意思?
香椿属于什么属,目?拉丁文怎么说?
这几天做梦总是梦到前女友,而且挺暧昧,是怎
君利来商务酒店怎么去啊,有知道地址的么
C语言 静态链表程序看懂了, 动态链表看不懂
下雨天之前会有一种飞蛾似的虫子盘旋在灯光周
苹果来电归属地软件哪个好
老朝辉综合商店地址有知道的么?有点事想过去
梦到和老公因为小三吵架,然后我说你杀了我呀,
摩托 拳皇wing1.85无敌版拳皇wing1.85怎么发
如今或以后可以3D打印手办吗
生态果园NO.3在哪里啊,我有事要去这个地方
上海大众汽车蓝牙耳机zoomb600耳挂卡口直径?
大连万港酒店是个黑店
欧姆龙HEM-645电子血压计,已经在大集体下单
推荐资讯
重要事情说三遍是什么意思?
王者荣耀是买提示的装备好些还是自己买
陌上草离离,故人归不归。有没有人知道什么意
但存方寸土,留与子孙耕.是什么意思?
如何将无物业小区保洁员长态化管理
我把两个顺手付账号注册串了,用我的手机注册
车辆过户保险未到期,车险怎么解决
北京犬舍那个犬舍的德牧好?那个犬舍的德牧好
有三个数,一个比一个大3,它们的积是1620,这三
手机掉水里后可以接听电话 但是屏幕不显示
浪漫庄园刷印记是怎么回事
驻马店市驿城区书香水岸五证其全么
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?