永发信息网

vba数组的使用

答案:2  悬赏:10  手机版
解决时间 2021-03-20 12:26
原题,编写按钮的Click过程,要求:点击按钮“统计”(command2)随机产生10个数据,范围在0-100之间的整数,通过列表框(list0)显示出来,并在文本框(text3)中显示大于50的数据个数。对控件属性做简单说明。
Option Compare Database
Option Base 1

Private Sub Command0_Click()
Dim a(10) As Integer, i As Integer, x As Integer
For i = i To 10
a(i) = Int(Rnd * 100)
List3.AddItem a(i)
Next
For i = 1 To 10
If a(i) > 50 Then x = x + 1
Next
Text1.Value = x

End Sub
错误提示 下标越界, 这是为啥? 求大神解答
最佳答案
你的主要问题是
1. dim a(10)相当于定义了一个长度为10的数组. 因为你用Option Base 1声明了下标从1开始, 所以dim a(10) 相当于是 dim a(1 to 10);
2. dim i as Integer,  而i没有赋给初始值时, 默认赋值为0. 所以for i = i to 10第一个就开始从0循环, 就是a(0)了, 导致数组下标越界. 
你是笔误了吧, 将for i = i to 10修改为for i = 1 to 10
全部回答

你的arr数组,本是一维数组,不需要转置。

只有arr=range("a1:a" & m).value 得来的才是二维的,但是转置以后还是二维的。

用循环,用range也是可以的

for j for j =2 to 10 step 2
sheets("0" & aaa).cells(8,i)=brr(i)
for j =2 to 10 step 2
sheets("0" & aaa).range("b8").offset(0,j-2)=arr(j/2)

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
龙马新天地南门这个地址在什么地方,我要处理
最近玩爹4老是遇到ce348780是怎么回事
巴音郭楞库尔勒煜程短租公寓萨伊巴格店在什么
国家绿化率标准是多少
全身黑色,脖颈带红的是什么蛇
最近是不是有个叫《开心相对论》的节目要播啊
超纤皮和牛皮哪种好
拿大屏高分辨率4k电视看720p的视频会比拿小屏
跪求各种电吉他新手练习曲SOLO练习布鲁斯乐句
广东普宁是那个区
Gina doesn’t look like her sister﹙改为同
Cl2气通入紫色石蕊的现象为先红后无色,其实
会使企业月末资产总额发生变化的是
享受午餐的句子
对相亲对象没感觉,要勉强吗?
推荐资讯
洞口县圣洁洗涤公司地址有知道的么?有点事想
什么可以用作室内植物?
清远到湛冮开车需要多少公里
怎么知道显卡那些地方坏了
陆地上有什么动物
按照当今市场美甲加盟店排行榜,开一间印奈儿
宁海要撤县设市了吗
帕萨特开空调下水管是冷的怎么回事
璐钰汽车装饰我想知道这个在什么地方
童年的作者是屠格列夫吗
自行车链条cn是什么意思
辆钱江摩托QJ50QT-5怎么骑
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?