作者eric19980722 (沒有毛的雞)
看板Office
標題[算表] 陣列索引超出範圍
時間Sat Jun 15 23:33:20 2019
軟體:excel
版本:365專業加強版
事情是這樣的
我按照學校老師上課給的講義
在模組新增了自己的函數
函數的程式沒問題
在工作表格上打 =後打函數名字也會跳出來
https://i.imgur.com/lMGzkYP.jpg
但是輸入完變數後 按下enter
格子裡卻顯示 #value!
https://i.imgur.com/KuT9tkc.jpg
在vba裡面打的話
https://i.imgur.com/S4mDRKa.jpg
執行後卻顯示陣列索引超出範圍
https://i.imgur.com/UEAC4dO.jpg
附上老師的講義程式 基本上是沒有問題
https://i.imgur.com/EmDcj68.jpg
https://i.imgur.com/XJHuwil.jpg
https://i.imgur.com/YvDdFdy.jpg
想說vba裡都沒有打到關於工作表的程式(worksheets之類的
到底怎麼會這樣嗚嗚
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.142.216 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1560612802.A.482.html
1F:→ soyoso: 加上option base 1 試試 06/16 00:35
3F:→ soyoso: 如不加的話,function BiNorCd內迴圈,改為for I=0 to 4 06/16 00:39
4F:→ soyoso: 和for j=I to 4 06/16 00:39
5F:→ eric19980722: 感謝soyo大大嗚嗚嗚嗚竟然破解好神 06/16 00:41
6F:→ eric19980722: 我加了option base就可以了 沒用過這個剛剛查了一下 06/16 00:42
7F:→ eric19980722: 是在覆寫預設的基底嗎 06/16 00:42
8F:→ eric19980722: 我是讀商學院的 老師也不是工學院的所以不會教的像 06/16 00:44
9F:→ eric19980722: 資工那樣深入 06/16 00:44
10F:→ eric19980722: 不太知道為啥改變基底後就可以了╭(蚊躬)╮ 06/16 00:44
11F:→ soyoso: 不設時基底為0,function BiNorCdf內的變數X和y五個元素的 06/16 00:59
12F:→ soyoso: 索引為0,1,2,3,4,而迴圈是變數I和j為1,2,3,4,5 06/16 00:59
13F:→ soyoso: 1,2,3,4時不會有錯,到了5時因變數X和y無該索引值,所以出 06/16 00:59
14F:→ soyoso: 現陣列索引超出範圍。 06/16 00:59
15F:→ soyoso: 加上option base 1後變數X和y五個元素的索引為1,2,3,4,5, 06/16 00:59
16F:→ soyoso: 配合迴圈變數也同1~5,因此可這部分可順利讀出變數X和y的 06/16 00:59
17F:→ soyoso: 元素 06/16 00:59
18F:→ soyoso: 不加的話,迴圈變數I和j就改為0 to 4和I to 4,應也可以順 06/16 00:59
19F:→ soyoso: 利讀出 06/16 00:59
20F:→ eric19980722: 有!試了兩個方法都行得通 感謝大大的拯救 解釋的也 06/16 01:19
21F:→ eric19980722: 很清楚 看一遍就懂了 感激不盡 06/16 01:19