返回列表 上一主題 發帖

[發問] 階層邏輯判斷

  1. Sub Test()
  2.   Dim CurrentLevel As Long, i As Long
  3.   Dim bMark As Boolean, ar() As Long
  4.   
  5.   With Sheets(1).[G1].CurrentRegion
  6.     ReDim ar(.Cells(1).Column - 1 To .Columns.Count)
  7.     ar(LBound(ar)) = vbRed
  8.    
  9.     For i = 1 To .Rows.Count
  10.       CurrentLevel = .Range(.Cells(i, "A"), .Cells(i, "E")).SpecialCells(xlCellTypeConstants).Column
  11.       bMark = (.Cells(i, "F").Value = "*")
  12.       
  13.       .Cells(i, "G").Interior.Color = IIf(bMark, vbYellow, ar(CurrentLevel - 1))
  14.       ar(CurrentLevel) = .Cells(i, "G").Interior.Color
  15.     Next
  16.   End With
  17. End Sub
複製代碼
回復 6# li_hsien

TOP

本帖最後由 stillfish00 於 2013-10-29 19:40 編輯

回復 9# li_hsien
你在 For i = 1 To .Rows.Count 前一行加入 .Value = .Value 看看。

附檔的儲存格怪怪的,無法用特殊尋找找到常數儲存格,加上上面的重新賦值就可以了,不知道是為什麼::(
我的判斷邏輯是該行有星號就黃色,沒星號就和上一階同色,(並設定第0階為紅色)。

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題