Office 板


LINE

軟體:Excel 版本:Office 2013 各位先進好! 我想請問一下在定義多維動態陣列時, 假如我需要計算一個適當的大小, 例如 變數經過運算後得到三個變數值mini = 3, maxi = 15, size = 8 想讓程式根據程式過程中得到的變數值而量身訂做一個多維矩陣 Dim matrix(mini To maxi,1 To length) as integer 就會出錯,說length必須要是常數, 可是mini To maxi都沒有問題, 就只有length有問題, 好奇怪! 不知道板上先進能不能解釋一下問題出在哪裡?該如何解套? 感謝各位先進的幫忙~ --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.107.3 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1616495773.A.820.html
1F:→ soyoso: mini To maxi都沒有問題,就只有length有問題,這方面可以 03/23 20:14
2F:→ soyoso: 只以mini To maxi 03/23 20:14
3F:→ soyoso: https://i.imgur.com/0HLJV8w.jpeg 03/23 20:14
4F:→ soyoso: 還是有問題的 03/23 20:14
5F:→ soyoso: 先宣告matrix() as .... 03/23 20:14
6F:→ soyoso: 再redim matrix(mini to maxi, 1 to....) ... 03/23 20:14
7F:→ soyoso: 另外內文變數值要在執行redim前正確取得 03/23 20:21
8F:→ Lanjaja: 請問s大 我如果一開始先dim matrix() as 程式會不會以為 03/25 01:37
9F:→ Lanjaja: 我只是在定義一維向量?但其實我想要的是二維向量 03/25 01:37
10F:→ Lanjaja: 我試的結果 似乎是多維度的最後一個維度長度不能是變數 03/25 01:38
11F:→ Lanjaja: S大因為用一維的 所以maxi會出現問題 03/25 01:38
12F:→ Lanjaja: 還是我有誤解? 03/25 01:38
13F:→ soyoso: 不是,用一維會誤會的話,一樣也用二維 03/25 07:22
14F:→ soyoso: Dim matrix(mini To maxi,1 To length) as integer,標記 03/25 07:22
15F:→ soyoso: 在length 03/25 07:22
16F:→ soyoso: Dim matrix(mini To maxi, 1 To 10) As Integer,標記在 03/25 07:22
17F:→ soyoso: maxi 03/25 07:22
18F:→ soyoso: Dim matrix(mini To 10, 1 To 10) As Integer,標記在mini 03/25 07:22
19F:→ soyoso: 必須是常數運算式 03/25 07:22
20F:→ soyoso: 所以維度的上限(上標)或是下限(下標)只要是變數就會錯誤, 03/25 07:22
21F:→ soyoso: 而非最後一個不能是變數 03/25 07:22
22F:→ soyoso: dim matrix()是動態的,不會只是定義一維,就看之後redim 03/25 07:24
23F:→ soyoso: 補充一下,內文寫到length必須要是常數,可是mini To maxi 03/25 07:59
24F:→ soyoso: 都沒有問題,這並不是指mini To maxi是正確的,而是在取得 03/25 07:59
25F:→ soyoso: 1 To length這個上下限(標)時就產生錯誤,所以標記在 03/25 07:59
26F:→ soyoso: length這個地方 03/25 07:59
27F:→ Lanjaja: 謝謝s大,接下來就有個問題,我應該要怎麼把length mini 03/25 14:51
28F:→ Lanjaja: maxi的數值取出來變常數?例如我定義另一個const lgth as 03/25 14:51
29F:→ Lanjaja: intger = length 會發生錯誤 可是這些變數是在程式計算過 03/25 14:52
30F:→ Lanjaja: 程中計算出來的 我事先沒辦法知道 也不想中斷程式 所以想 03/25 14:52
31F:→ Lanjaja: 知道如何把mini maxi length的數值取出來擺在matrix定義 03/25 14:53
32F:→ Lanjaja: 中而不會發生錯誤?謝謝您的幫忙 03/25 14:53
33F:→ soyoso: 那不要在程序內宣告而是移到模組Module的最上方宣告,寫入 03/25 15:54
34F:→ soyoso: 值後也可以用於其他程序內,不同模組的話內public 03/25 15:54
35F:→ Lanjaja: 不太懂s大的意思 是說如果在模組最上用public宣告 可是變 03/26 23:03
36F:→ Lanjaja: 數還是變數 matrix()就會把public變數當常數看待嗎? 03/26 23:04
37F:→ soyoso: 寫入值到變數後,如果不再重新寫入值,那變數內的值也就是 03/27 06:38
38F:→ soyoso: 不變的常數 03/27 06:38
39F:→ soyoso: 調整一下,除不再重新寫入值外,或重新寫入值都是相同時, 03/27 07:14
40F:→ soyoso: 也會是常數 03/27 07:14
41F:→ Lanjaja: 其實變數之後還會用到 所以我另外創一個變數去等於length 03/29 03:41
42F:→ Lanjaja: 還是會發生錯誤的訊息 所以不知道是不是VBA不能接受變數 03/29 03:42
43F:→ soyoso: 創一個變數去等於length還是會發生錯誤的訊息指的是什麼, 03/29 06:35
44F:→ soyoso: 是指const lgth as intger = length這樣會有錯誤訊息嗎? 03/29 06:35
45F:→ soyoso: 如果是的話,是的,無法這樣寫,這原po測試就發生錯誤訊息 03/29 06:35
46F:→ soyoso: 了;那變數之後用的到,這裡"之後"指的如是執行巨集過程內 03/29 06:35
47F:→ soyoso: 要將這個變數保留,於另一個程序內取得的話,就如我03/25 03/29 06:35
48F:→ soyoso: 15:54回文的方式。這方面就試試,試了無法達成,就提供如 03/29 06:35
49F:→ soyoso: 何寫的和要的結果,會比較清楚 03/29 06:35
50F:推 waiter337: dim matrix 04/04 01:15
51F:→ waiter337: redim matrix(mini To maxi,1 To length) 04/04 01:15







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP