Dim Tt(0 To 20, 0 To 1)
For i = 0 To 20
Tt(i, k + 60) = 0.48 * Tt(i + 1, k + 60) + 0.48 * Tt(i - 1, k + 60) + 0.032 * Tt(i, k)
Next i程序运行时总显示:实时错误9下标越界 应该如何进行修改呢?请赐教!

解决方案 »

  1.   

    没仔细看,不过如果i最后一次等于20
    Tt(i + 1, k + 60)  这句里面不就是Tt(21, k + 60)了?  那不就越界了吗?
      

  2.   

    你定义的数组是以0作为首地址,所以在for循环中要减1,否则如TT(20)肯定是找不到对象的,因为最后一位是TT(19)
      

  3.   

    Dim Tt(0 To 20, 0 To 20+60) 
    For i = 0 To 20 
    Tt(i, k + 60) = 0.48 * Tt(i + 1, k + 60) + 0.48 * Tt(i - 1, k + 60) + 0.032 * Tt(i, k) 
    Next i
      

  4.   

    看楼上的,
    Tt(i + 1 ,这个绝对不会通过的
      

  5.   

    Dim Tt(0 To 20, 0 To 100) 
    dim k as integer
    if k>40 then 
        msgbox "数据下标越界"
        exit sub
    end if
    For i = 0 To 20 
    Tt(i, k + 60) = 0.48 * Tt(i + 1, k + 60) + 0.48 * Tt(i - 1, k + 60) + 0.032 * Tt(i, k) 
    Next i 
      

  6.   

    Dim Tt(0 To 20, 0 To 1) 0 to 1???????
      

  7.   

    不管K是几了,按照楼主的代码,最后一个循环(i=20)时,Tt(i + 1, k + 60)就越界了!