推 MashiroX421: 方法一的話,arr跟A並無相關性 01/27 00:06
→ MashiroX421: 方法二,這樣寫等於是把陣列指定到陣列,會有矛盾 01/27 00:07
→ MashiroX421: 寫成式子會像:arr(無,無,無)=Array(10,20,30) 01/27 00:08
→ waiter337: 直接dim的時後就要給值了唷 01/27 01:37
→ waiter337: dim arr(10,20,30) 01/27 01:37
→ waiter337: 但陣列使用上直接賦值我感覺我沒用過(應該是不太會用) 01/27 01:38
→ waiter337: 而且redim 常常幾乎跟著用到 01/27 01:41
→ waiter337: 但我不建議使用redim preserve 01/27 01:42
→ waiter337: 大部份我們不是很專業不是很大量,那就乾脆拿大一點的盤 01/27 01:42
→ waiter337: 子裝花生比較快 01/27 01:42
→ waiter337: 建議基本看看之後直接redim成很大的二維陣列 01/27 01:43
→ waiter337: redim preserve(只限用一維陣列) 一排資料 01/27 01:44
→ waiter337: 無法使用在二維陣列 ,譬如(100列 x 99行)假設要在加陣 01/27 01:46
→ waiter337: 列,我印像是如果增加位置可以,但只能加最底下橫列 01/27 01:47
→ waiter337: 所以一開始我就懶惰的關係,我一開始就會先開好大小 01/27 01:48
→ waiter337: 只要redim 從最後一排+1的位置開始就可以 01/27 01:50
→ waiter337: 或者我記反了,只能增加最右邊那直行 01/27 01:50
→ MashiroX421: 直接dim arr(10,20,30)這樣是一開始就宣告為三維陣列 01/27 07:13
→ MashiroX421: 與原PO一開始使用array放入的一維陣列不一樣 01/27 07:14
→ MashiroX421: 另外redim preserve實際上可以用在二維陣列 01/27 07:25
→ MashiroX421: 雖然它只能用在改變陣列中最後一維的上下限 01/27 07:25
→ MashiroX421: 但可以透過使用工作表函數Transpose,將一、二維進行 01/27 07:26
→ MashiroX421: 互換,再把需要的元素放入後,再轉置過來,亦可達成 01/27 07:27
推 waiter337: 原來如此 01/27 11:21
→ waiter337: 沒錯做到這裡 我都得在試錯個一兩次 經驗還不太多 哈 01/27 11:22
→ waiter337: 哈 01/27 11:22
→ waiter337: 應該是這樣啦 dim arr()={10,20,30} 01/27 11:26
→ waiter337: 假如我要用成 01/27 11:27
→ waiter337: 1,2,3 01/27 11:27
→ waiter337: 4,5,6 01/27 11:27
→ waiter337: 7,8,9 01/27 11:27
→ waiter337: 的3x3 二維陣列 01/27 11:27
→ waiter337: 就要dim arr(,) ={ {1,2,3} , {4,5,6} , {7,8,9} } 01/27 11:28
→ waiter337: 或者 01/27 11:28
→ waiter337: arr(0,0) = 1 01/27 11:28
→ waiter337: arr(0,1) = 2 01/27 11:29
→ waiter337: arr(0,2)=3 01/27 11:29
→ waiter337: arr(1,0)=4 01/27 11:29
→ waiter337: arr(1,1)=5 01/27 11:29
→ waiter337: arr(1,2)=6 01/27 11:29
→ waiter337: arr(2,0)=7 01/27 11:29
→ waiter337: arr(2,1)=8 01/27 11:29
→ waiter337: arr(2,2)=9 01/27 11:30
→ waiter337: 這種一開始要先dim arr 下一行 redim arr(2,2) 01/27 11:30
推 fumizuki: 1. Array 傳回Variant,已固定型態的變數都無法接收 01/27 11:40
→ fumizuki: 2. 宣告時決定陣列大小、維度,亦無法接收 Variant 值 01/27 11:42
→ fumizuki: 是VBA還是.NET ? .NET 才能在宣告變數時初始化 01/27 11:43
→ waiter337: im arr(,) ={ {1,2,3} , {4,5,6} , {7,8,9} } 這個vba 01/27 14:55
→ waiter337: 好像不能用 抱歉 01/27 14:56
→ waiter337: 是vb跟.net才能用 01/27 14:56
→ waiter337: 更正vba在dim的時候不能順便賦值 01/27 14:59
→ waiter337: 包含dim arr(10,20,30) 這個也不行 01/27 14:59
→ waiter337: 你的方法一,因為A跟Arr是兩個不同變數 01/27 15:01
→ waiter337: 感謝,我也學到很多 01/27 15:04
→ waiter337: 可以參考一下唷 01/27 15:05
→ marki: 謝謝各位大大教學 01/28 10:03
→ waiter337: 不過奇怪的是 為什麼arrx是從(1,1)開始的 01/28 18:42