我现在有一个数组,这个数组中的元素个数大于32367个
结果我后面的数据就没有了!于是我重新定义了数组使用redim a(0 to 100000) as double 定义
结果在给数组赋值时,数组的前32367个有数据,后面就都为空了~~~~求解决方法!!!哪位大侠给点提示阿~~~~

解决方案 »

  1.   

    不太明白你的意思,如果数组定义的类型跟实际数据不太匹配,请修改其定义为最合适的类型,如要存放Double类型的数据,就不要使用Long或者Single;如果是因为重定义数组大小时数据丢失,请使用 Redim Preserve array()
      

  2.   

    我的意思是说我现在有一些double类型的数据,数据量大于32367个,我想用一个数组来存放这些数据,应该怎么处理?
    类型没有错误,是否是vb对数组的上限有大小要求?总之我现在只能在一个数组里存放32367个数据,无论我定义的数组有多大~~~另外,redim preserve 我也尝试了~~~
      

  3.   

    不会吧,我这样用都是对的:
    Private Sub Command1_Click()
            Dim arr#(150000), i@
            For i = 0 To 150000
                DoEvents
                arr(i) = i
                Debug.Print arr(i)
            Next
    End Sub
      

  4.   

    我估计楼主的数组下标变量类型为 Integer ,然后又有 On Error Resume Next。结果循环时下标变量溢出,造成后面的元素没有被赋值。
      

  5.   

    呵呵  是我看错了  是32767,Integer的上限值!
    哎,根本没有重视上限这个问题啊,一致认为不会达到上限,结果一个不小心就错误了,而且还想不出错在哪儿了~~~
    Chen8013 的解答太有见解性了!谢谢!没看到代码也知道问题所在~~看来一方面是高手,另一方面是我太菜了~~
    东方之珠是不是还自己开了个论坛阿?
    谢谢各位的解答!结贴!