返回列表 上一主題 發帖

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

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

本帖最後由 oak0723-1 於 2010-9-6 21:17 編輯

如附件
在工作表1之[c10:m83]輸入資料
想得到如工作表2-1之結果
也就是說當工作表2-1的j欄內容經計算為0時就不將該列顯示於工作表2-1
註
為方便說明
附件中工作表2不論j欄內容是否為0將全部顯示出來之情形
而附件中工作表2-1是將j欄內容為0不顯示之情形

本帖最後由 oak0723-1 於 2010-9-6 22:29 編輯

回復 6# oobird


    喔
抱歉可能小弟寫沒清楚
意思就是說
若工作表1裡的M10+L10=0
在工作表2就不顯示該列(第10列)
已修正如附件~~~

990906-1.rar (29.81 KB)

TOP

回復 7# oobird


    請問
之前提到
動態陣列有個規則,就是只能改變第二維的大小
http://forum.twbts.com/viewthread.php?tid=1282
這裡卻arr(1 To UBound(rng), 1 To 10)
變數設在第一維
也就是列位為變數
這~~~到底是位什麼?

TOP

回復 9# oobird


    完了~~~
我又看不懂了
我買的書上提到
固定陣列是以dim宣告
變動陣列是以Rerdim宣告
此處及http://forum.twbts.com/viewthread.php?tid=1282
這2個問題不是都用redim宣告嗎?

TOP

回復 11# oobird


陣列1>
a = Sheets("1").[c10].CurrentRegion
    r = 1
    For i = 1 To UBound(a)
        ReDim Preserve arr(1 To 3, 1 To r)
        arr(1, r) = a(i, 1): arr(2, r) = a(i, 2): arr(3, r) = a(i, 3)
        r = r + 6
    Next
陣列2>
With Sheets("1")
rng = .Range(.[c10], .[m83].End(3))
End With
ReDim arr(1 To UBound(rng), 1 To 10)
For i = 1 To UBound(rng)
If rng(i, 11) - rng(i, 10) <> 0 Then
k = k + 1
For j = 1 To 6
arr(k, j) = rng(i, j)
Next
小弟比較了這2個陣列
發現在陣列2的rng變數的定義
rng = .Range(.[c10], .[m83].End(3))
等於設定了rng的起始與終止範圍
而在陣列1的r變數
是受制於變數a而終止
變數a的定義為
a = Sheets("1").[c10].CurrentRegion
這等於沒有設定變數a的終止範圍
所以大大你才將陣列1稱之為變動陣列
陣列2稱之為固定陣列
而非單純以dim或redim作判別基準區分固定或變動陣列?
小弟這樣理解正確嗎?

TOP

        靜思自在 : 信心、毅力、勇氣三者具備,則天下沒有做不成的事。
返回列表 上一主題