返回列表 上一主題 發帖

[發問] 若儲存格內容為0就整列不顯示

本帖最後由 luhpro 於 2010-9-7 22:32 編輯

回復 10# oak0723-1

其實在上面的程式中之所以可以用 ReDim 來重新配置 Arr 為一陣列是因為 Arr 初始宣告時是 Variant 型態,
所以它也可以表示為是一個(尚未定義大小的)陣列.

你可以開啟Excel VBA 的說明來看,
它對於 ReDim 的 解釋如下 :
ReDim 陳述式是用來 "決定" 或 "重新決定" 動態陣列的大小


回復 12# oak0723-1

我覺得不管是 .CurrentRegion 還是 .End(3) 兩者在程式執行到該行時都會是個確定的範圍,

之所以 ReDim Preserve arr(1 To 3, 1 To r) 會說它是個動態陣列,
是因為它在之前已經有被定義過陣列大小了, (因在迴圈中會重複執行該敘述數次)
之後還需要因 r 值而變動其大小故而是動態陣列.

至於

ReDim arr(1 To UBound(rng), 1 To 10)

則因該敘述之前只有 Dim arr 一個敘述, (也可視為 Variant 變數)
其實並沒有真的明確定義過 arr 這個陣列的大小,
直到該敘述才是真的將其定義為一個 "固定大小" 的陣列.

TOP

        靜思自在 : 滴水成河。粒米成蘿,勿輕己靈,勿以善小而不為。
返回列表 上一主題