返回列表 上一主題 發帖

[發問] (已解決)可以針對格式化條件的顏色做判斷嗎?

要以其格式化條件的運算式判斷
學海無涯_不恥下問

TOP

回復 3# freeffly
格式化條件不要這樣下公式,這樣得到錯誤值時,雖然格式化條件會視為不成立條件
但實際上它不是傳回邏輯值,會造成處理上的困擾
修改一下公式,如圖
  1. Sub yy()
  2. Dim A As Range
  3. For Each A In Range("B:B").SpecialCells(xlCellTypeConstants).SpecialCells(xlCellTypeAllFormatConditions)
  4.    A.Select
  5.    k = 0
  6.    For Each c In A.FormatConditions
  7.       s = c.Formula1
  8.    If Application.Evaluate(s) = True Then k = k + 1
  9.    Next
  10.    If k = 0 Then A.EntireRow.Hidden = True
  11. Next
  12. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 6# freeffly

你的公式在格式化條件中可以達到你的目的沒錯
不過,你的公式在條件不成立的情形下
該公式傳回值不一定是FLASE,有可能是錯誤值
當然錯誤值他不是TRUE所以儲存格不會變色
但是,這個公式在VBA中利用Evaluate方法來求值時,由於產生錯誤值的關係,程式就會出錯
所以建議你將公式修改成確定傳回是邏輯值TRUE或FALSE
這樣就可省去用程式忽略錯誤的程序
建議公式改為
=COUNTIF($M$548:$M$556,$B1)>0
=ISNUMBER(FIND("高雄",$B1,1)
這會比我上一個回復的公式簡單
學海無涯_不恥下問

TOP

        靜思自在 : 人的心地是一畦田,土地沒有播下好種子,也長不出好的果實。 -
返回列表 上一主題