| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2560 人关注过本帖
标题:下标越界,实时错误9
只看楼主 加入收藏
petpal
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-4-27
收藏
 问题点数:0 回复次数:7 
下标越界,实时错误9

请高手看看我写的这段代码哪里有问题,它老是说下标越界,实时错误9.小的不胜感激!!!

主要是下面显示的红色代码有问题.


Dim a(1 To 3) As Date

Private Sub cmdInp_Click()
For i = 1 To 3


a(i) = InputBox("输入日期", "输入框")
pic1.Print a(i)
Next i


End Sub
Private Sub cmdDpy_Click()


For i = 1 To 2
For j = i + 1 To 3

Max = i
If a(j) > a(Max) Then Max = j
t = a(i)
a(i) = a(Max)
a(Max) = t

Next j



Next i

For i = 1 To 3


pic2.Print a(i)

Next i

End Sub



Private Sub cmdSta_Click()
Dim b(1 To 12) As Integer


For j = 1 To 12


If j = Month(Val(a(i))) Then b(j) = b(j) + 1


Next j


For j = 1 To 12
pic3.Print ""; j; "月出现"; b(j); "次";

Next j

End Sub

搜索更多相关主题的帖子: 实时 越界 
2007-04-27 18:44
zhulei1978
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 
If j = Month(Val(a(i))) Then b(j) = b(j) + 1
i没定义

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2007-04-27 21:48
zhulei1978
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:53
帖 子:1351
专家分:1200
注 册:2006-12-17
收藏
得分:0 
For j = 1 To 12
For i = 1 To 3
If j = Month(a(i)) Then b(j) = b(j) + 1
Next i
Next j
另外那个val()是不是应该去掉

其实我就是改变社会风气,提高少女素质,刺激电影市道,提高年轻人内涵,玉树临风,风度翩翩的整蛊专家,我名叫古晶,英文名叫JingKoo!
2007-04-27 21:52
huangwy
Rank: 1
等 级:新手上路
威 望:2
帖 子:297
专家分:0
注 册:2007-3-23
收藏
得分:0 

为什么会出现下标越界呢
因为你的a(i)的下标是1-3,也就是说,你只能用A(1),a(2),a(3)这三个数组变量
但是你的程序中cmdSta_Click里没有定义i
VB默认i=0
你执行到那条指令时,出现a(0)这个数组元素
所以系统报错
程序中看不出这个语句的意义
If j = Month(Val(a(i))) Then b(j) = b(j) + 1

2007-04-28 16:21
shuangziputi
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-4-28
收藏
得分:0 
i没有定义 把i定义为1就可以了
2007-04-28 21:32
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
得分:0 
同意4楼的建议。

2007-04-28 22:16
petpal
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-4-27
收藏
得分:0 

555....好感动哦^^谢谢大家的热心~~~
2搂的修改是对的.除了定义i,还要把val()去掉.
4楼的分析非常透彻,非常好懂.
不管怎么样,非常感谢你们.你们真好.
五一到了,节日快乐哦~~~~
2007-04-29 03:19
petpal
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2007-4-27
收藏
得分:0 
回复:(zhulei1978)For j = 1 To 12 For i = 1 ...
谢谢你为我指正.你说对了,除了定义i,还得把val()去掉.
五一快乐^-^
2007-04-29 03:23
快速回复:下标越界,实时错误9
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022029 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved