请“深海多水”在帮忙看看:按键精灵的一个二维数组赋值程式。。。。。。

ZDS=inputbox("请输入总栋数")DimJS()DimCS()RedimJS(0)ReDimCS(0)m=1n=1IfZDS>""ThenZDS=int(ZDS... ZDS = inputbox("请输入总栋数")
Dim JS()
Dim CS()
Redim JS(0)
ReDim CS(0)
m = 1
n = 1
If ZDS > "" Then
ZDS = int(ZDS)
i = 1
h = 1
For ZDS
k = int(h)
If k > g Then
Redim Preserve CS(k)
Else
End If
g = int(h)
CS(g) = inputbox("请输入" & m & "栋总层数")
j = 1
For CS(g)
o = int(i & j)
If o > p Then
Redim Preserve JS(o)
Else
End If
p = int(i & j)
MessageBox "p="& p
JS(p) = int(inputbox("请输入" & m & "栋" & n & "层间数"))
MessageBox "js="& JS(p)
j = j + 1
n = n + 1
Next
n = 1
i = i + 1
m = m + 1
h = h + 1

Next
End If
// 调用输入的值
i = 1
h = 1
For ZDS
k = int(h)
If k > g Then
Redim Preserve CS(k)
Else
End If
g = int(h)
j = 1
For CS(g)
o = int(i & j)
If o > p Then
Redim Preserve JS(o)
Else
End If
p = int(i & j)
MessageBox "p=" & p
kk=int(JS(p))
MessageBox "js="& kk //出现问题:在运行第3次时,KK的值变为了0
j = j + 1
Next
n = 1
i = i + 1
m = m + 1
h = h + 1
Next
下半部是我根据你写的改的,我的目的是要把到得到的数值按照输入时的顺序一个个调用出来,以便在另一个程序中使用。如1栋1层进行JS(11)次操作。1栋2层进行JS(12)次操作。出问题的地方已写在上面了。
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏50(财富值+成长值)
深海多水
推荐于2016-05-09 · TA获得超过138个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:126万
展开全部
昨晚看到你问的这个问题已经回复了,我复制过来了,你再试试看
p = int(i & j)'搜索
If p > UBound(JS) Then
Redim Preserve JS(p)
End If
MessageBox "p="& p
JS(p) = int(inputbox("请输入" & m & "栋" & n & "层间数"))
另外
如果你这断代码放到子程序时注意
sub a
Dim JS()
Dim CS()
Redim JS(0)
ReDim CS(0)
‘你的代码
end sub
上面不对
下面是正确的,错误原因我也不明白
sub a
Redim JS(0)
ReDim CS(0)
‘你的代码
end sub

Redim Preserve JS(p)'这句代码是关键,你搞懂这个你的问题差不多就能解决了

比如下面
Redim JS(10) '我是这样理解的数组最大维数超过10的就没有值了比如JS(11)=a ,超过10就要从新定义,从新定义要保证之前的值不丢失就必须进行保护,Redim Preserve JS(p)这句就是从新定义并保护的意思,但不保护超过当前维数的数组,所以要进行判断

JS(0)=a

JS(1)=a

JS(2)=a

JS(3)=a

JS(4)=a

JS(5)=a

JS(6)=a

JS(7)=a

JS(8)=a

JS(9)=a

JS(10)=a
i=11
do
If i > UBound(JS) Then '判断
Redim Preserve JS(i)'从新定义并保护
End If
JS(i)=a
i=i+1
loop
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式