例子如下:
我要定义2个3*3的二维数组,
Dim partin,partout As Variant
partin = Array([F11,F12,F13], [F21,F22,F23], [F31,F32,F33])
partout = Array([F11F,F12F,F13F], [F21F,F22F,F23F], [F31F,F32F,F33F])
其中2个数组的下标都是变量的,类型是String
我写的代码是
for i = 0 to 2
for j = 0 to 2
if partin(i,j) = partout(i,j) then
partin(i,j) = partout(i,j)
else
partin(i,j) = partin(i,j) & "and" & partout(i,j)
end if
next j
next i
运行程序的时候提示下标越界,不知道是不是定义错了,第一次用二维数组不知道怎么用,百度找了很多例子但都没有我想要的,请问我这个数组正确的应该怎样定义,如果写的代码也有错请顺便也帮我修正一下,谢谢,非常感谢~~
用ARRAY定义数组也可以,只是你的定义方法及引用方法都不对。
用ARRAY无法定义二维数组,只能定义多重数组,因此不能向二维数组那样引用。
Dim PartIn, PartOut
另外,为什么F11、F12、。。。不都定义成数组呢?这样用二维数组也挺方便。
Dim F(2, 2), FF(2, 2)
你好,如果要按照你这样来定义的话,那如果我要一个10*10的数组,岂不是要全部列出来列100个?应该不用这样吧,另外我稍微改了一下
Dim partin(2, 2) As String
partin(2, 2) = [(F11,F12,F13), (F21,F22,F23), (F31,F32,F33)]
但是我输出partin(0,0)或者partin(0,1)的时候没有值,都是空的,本来应该是有值的,总归还是回到定义的方法去,不知道这样定义对不对
请问,你是VB的什么版本?
本回答被网友采纳