1樓:匿名使用者
lz:你的
for i = 1 to 20
mark(i) = int(rnd * 100)next i
結束後i的值是21,所以j = mark(i) \ 10中的mark(i)即mark(21),當然下標超出設定範圍。
2樓:
j= mark(i) \ 10
有問題呀,i=21了
把s(1 to 20) as string改了呀你想要的程式是這樣的吧
dim mark(1 to 20) as integer, s(1 to 20) as integer, i%, j%
for i = 1 to 20
mark(i) = int(rnd * 100)j = mark(i) \ 10
select case j
case 0 to 5
s(5) = s(5) + 1
case 9 to 10
s(9) = s(9) + 1
case 6 to 8
s(j) = s(j) + 1
end select
next i
for i = 1 to 20
print mark(i);
next i
end sub
3樓:匿名使用者
因為i經過迴圈後值為i=21,而你定義的 mark(1 to 20)的上限為20,所以執行到j = mark(i) \ 10這句後會出現下標越界的錯誤。
4樓:小羅
此時 i 的值是 21 了。
no ,比前一位慢了。
Excel提示錯誤9,下標越界,怎樣解決
在你的vba 中引用的下標不存在了,比如你原來有sheets 5 或者sheets 5 這 5不存在了或者名字改了 還有其他有引用下標的函式,下標出錯等等.你這段 寫得不簡潔,是錄製巨集改的吧。workbooks.open thisworkbook.path i xls 這句應該有問題,反向了。但不...
excel中執行錯誤9,下標越界,請各位大俠給指點指點,如下
你斷點監控一下 看是執行到什麼地方的時候提示下表越界 我的excel巨集出了問題,執行時錯誤9,下標越界,請各位大俠幫助,謝謝!請在立即視窗輸入如下命令顯示工作簿物件的name 顯示的內容才是你的當前工作簿的名專稱。因屬為名稱被改掉了 如我附件所示,thisworkbook被改名為 itisrena...
vba執行時錯誤9下標越界,VBA執行時錯誤9,下標越界
excel中vba提示下標超界,說明物件不存在或者陣列元素不存在。舉個簡單的例子 工作表中沒有 1月 這個工作表,卻用sheets 1月 陣列定義的是arr 1 to 10 卻用arr 11 都會出現下標越界的提示。簡單的理解 下標越界就是引用超出了所在的範圍。1 當我們在excel的vba中輸入下...