永发信息网

vba 输出数组变量值到立即窗口

答案:3  悬赏:40  手机版
解决时间 2021-03-21 06:14
vba 输出数组变量值到立即窗口
最佳答案
对于一维数组

可以用
Debug.Print Join(arr, ",")
输出到立即窗口
对于二维数组
For i = LBound(arr) To UBound(arr)
Debug.Print Join(WorksheetFunction.Index(arr, i, 0), ",")
Next
多维数组依次类推追问Debug.Print Join(arr, ",") 产生错误,无效的过程调用或参数追答请确认你的arr是一维数组,不是一维数组肯定会报错
因为join只能作用于一维数组,下面我不是给了一个二维数组的例子代码吗.你参考一下追问代码见补充
第一种join产生错误,无效的过程调用或参数,一次也不能运行。
第二种join可运行两次,出0,1,2,3正确结果,第三次"I=2"时产生错误WorksheetFunction类取不到属性Index
???追答看了你的代码返回的是一个Variant类型的变量.Variant类型的变量存储数组
经过测试不能直接被join函数识别,
可以通过WorksheetFunction.Index(array, 1, 0),转换为1维数组
Sub ReturnVal()
    Dim iArray As Variant
    iArray = WorksheetFunction.Index(ReturnArray(3), 1, 0)
    Debug.Print Join(iArray, ",")
end Sub另外一维数组就不要用
For i = LBound(iArray, 1) To UBound(iArray, 1)
        Debug.Print Join(WorksheetFunction.Index(iArray, i, 0), ",")
Next
处理了吧.这必然会报错.
WorksheetFunction.Index函数的意思是取多行多列数据中的一行.你用循环处理想取多行必然会报错.至于为什么能够0和1 都取第一行的数据我也没研究过.内在的原因我也就不清楚了.
全部回答
打开立即窗口,用debug.print可输出到

只能显示数组中的一个值吧/?arr(i)  '显示第i个数
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
DNF暗黑城最低多少级可以去?
艺术类考生高考能报公安类学院吗?
大连哪个银行可以办理乘车IC卡?
115网盘怎么下载红色警戒2尤里的复仇 MOD《零
佳能MX308打印机突然开不了机
三夜频梦君 情亲见君意
做梦梦见自己男朋友和朋友睡一起了、当着我的
芙蓉区长沙湖南省商务厅哪位知道具体地址啊
护理大专毕业4年 可以报考心理学吗 应该怎么
胖人适合背什么款式的包包
安盛天平财产保险股份有限公司慈溪支公司在哪
on call 36小时2 28集的普通话插曲叫什么名字
微信绑卡绑不上,是什么原因,能解决的有果
如何参加梦想改造家
观音菩萨保平安
推荐资讯
dnf冒险家征集令怎么推荐不了
南阳一中复读班条件
百灵医药连锁南平药行这个地址在什么地方,我
爱护动物的语句,爱护动物的句子
剑灵32位怎么换成64位的?
卖高仿包包被工商局查收了最高罚款多少钱
我儿子2岁多 特别不听话 调皮 要东西不给马上
我玩CS1.6僵尸版里面的僵尸血太少了怎么修改
苹果6p创建了新的id之后进去app store 却一直
一切为民着想,如何开展这个职业工作
2015年汽车免税政策。是否真假
食客来美食城地址在什么地方,想过去办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?