我用VB編東西,可是執行的時候老出「下標越界」? 30

2025-02-02 05:00:22 字數 1120 閱讀 5732

我用vb編東西,可是執行的時候老出「下標越界」?

1樓:宇飛董事長

dim inbyte(x)

x為下標。就是定義陣列下標啊。

比如dim inbyte(100) as interger

那麼,你只能出現inbyte(0)到~inbyte(100)的變數,超過100的就下標越界了。

你的程式中沒有宣告陣列變數啊。

應該先宣告。

你「inbyte =

buf = clng(inbyte(0)) 65536 + clng(inbyte(1)) clng(inbyte(2))」

一開始的那個inbyte是變數,而下面的 inbyte(0)就是陣列了,不為同乙個。所以你這裡似乎有一點混亂。

你這裡最大下標是15吧,在程式中就宣告:dim inbyte(15) as long,只要你的下標即括號裡的數不超過15就可以了。

那麼,分別是以下這16個long型:

inbyte(0)

inbyte(1)

inbyte(2)

inbyte(15)

2樓:匿名使用者

你的範圍定得不對。

vba**,到底**出錯了,說是下標越界

3樓:開麗戈華

1.這一句有錯誤:,應該是:。但是,即便你糾正了錯誤,但這一句就有可能「下標越界」,比如有乙個工作薄只有3個表,你這樣就越界了。

2.這個arr1是個變體型,不一定就是陣列。比如f列只有f2單元格有資料,下面沒有了,那麼arr1就不是乙個二維陣列,而是隻包含乙個值(f2的值)的變數;只有當f列從f2往下有超過1個的資料時,arr1才是乙個二維陣列。

3.當arr1不是陣列的時候,你這樣呼叫就越界了:arr1(j)。

即便arr1是陣列,你這樣呼叫也會越界,因為arr1它是乙個「二維陣列」,不能像一維陣列那樣使用。也就是說不管arr1是不是陣列,arr1(j)都是越界的。

4.因為arr1和arr2都是同樣大小的,只是乙個表示一列資料,另乙個表示一行資料。所以resize的時候就這樣就行:

ubound(arr1),1),而不需要(ubound(arr1)+1,1)

VB 我記得判斷是否為真的時候返回的是true,為什麼有的

關於 1是true還是1是true的問題,我來說兩句。實際上在vb6裡只要是非零都可以當成是true,零就是flase但是,如果你進行到 非 運算的話,主要嚴格的把true等於 1比如我們寫一個函式 function istrue as boolean.end function 我們在使用這個函式時...

為什麼我的手抓不穩東西,抓東西的時候有時候會掉下來

缺鈣 不要吃那麼多零食,有錢就買點奶喝,叫老媽經常買蝦吃。手平時抖不抖?可能你有病有一種病前兆和你的症狀一樣!少繭唄,你的手一定嫩嫩的。手偶爾抓不住東西,會掉下來,是怎麼回事?問題分析 您好您所述情況考慮是腦血管問題,不知您平時有血壓高等情況。意見建議 目前建議看神經內科,做腦ct檢查,確診 針對 ...

用搜狗手機輸入法中 我想打「就」字 可是打的時候是JiOU 這樣打不出來打的是ji和ou兩個拼音的字

jiu,這是正確的拼音,該補補了 漢bai語拼音方案 第三du表即韻母表zhi的第五條註釋規dao定 iou,uei,uen前面內加聲母的時候,寫容 成iu,ui,un 這樣省去了o e兩個字母,使拼式縮短了,便於書寫和計算機輸入。jiou應該拼成jiu。口訣 iou,uei,uen,真奇妙,加上聲...