返回列表 上一主題 發帖

FormatConditions怎麼取得文字顏色的值

FormatConditions怎麼取得文字顏色的值

各位大大,
我想要計算下圖(圖1)中紅色部分的總和,
我是在這個表格裡使用了儲存格條件,
問題是我在VBA裡無法分辦在儲存格裡紅色與黑色差,
如我圖2,我用了很多語法都是得到相同的值,完全無法判斷,
是否有人知道怎麼判斷差異嗎??

圖1


圖2

回復 1# doom834
上傳檔案 看一下 FormatConditions的公式如何設定
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

我刪除了一些資料,不然檔案太大,若有需要完整版的檔案我再重傳!!

生?控制表-1.zip (107.79 KB)

TOP

本帖最後由 GBKEE 於 2013-10-22 17:51 編輯

回復 3# doom834
試試看
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng As Range, AR(), C As Integer, R As Integer
  4.     For Each Rng In Sheets("图表").[b4:I11,b15:I22,b26:I33].Areas
  5.         ReDim AR(1 To Rng.Columns.Count, 1 To Rng.Rows.Count)
  6.         For R = 1 To Rng.Rows.Count
  7.             For C = 1 To Rng.Columns.Count
  8.                 AR(R, C) = 0
  9.                 If Rng.Cells(R, C).FormatConditions.Count > 0 Then
  10.                     Rng.Cells(R, C).Select
  11.                     If Application.Evaluate(Rng.Cells(R, C).FormatConditions(1).Formula1) Then AR(R, C) = Rng.Cells(R, C).Value
  12.                 End If
  13.             Next
  14.             Rng.Cells(R, C) = Application.Sum(Application.Index(AR, R))
  15.         Next
  16.         For C = 1 To Rng.Columns.Count
  17.             Rng.Cells(Rng.Rows.Count + 1, C) = Application.Sum(Application.Index(Application.Transpose(AR), C))
  18.         Next
  19.         Rng.Cells(Rng.Rows.Count + 1, Rng.Columns.Count + 1) = Application.Sum(Rng.Columns(Rng.Columns.Count + 1))
  20.     Next
  21. End Sub
複製代碼
格式化條件公式怪怪的參照是否跑掉了
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

GB大大,我用你的代碼跑不出來結果耶~~
計算出來的Sum都是0
另外格式化條件沒有設錯,我設定的邏輯是第1個表是>0的顯示紅字,
第2個表是依據第1個表有數字的才會示成紅字。

生?控制表-1.zip (108.36 KB)

TOP

我認為是If Application.Evaluate(Rng.Cells(R, C).FormatConditions(1).Formula1) Then AR(R, C) = Rng.Cells(R, C).Value這行有點問題,
因為這個都是false,所以存入陣列AR裡的數值都是0,
最後加總起來的都是0

TOP

回復 5# doom834
你附檔中沒有Sheets("芞桶")這工作表須修正
  1. For Each Rng In Sheets("芞桶").[b4:I11,b15:I22,b26:I33].Areas
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

那是因為我在大陸用這裡的筆電,
事實上在我的電腦上看是圖表這個Sheet沒錯,
這個是編碥轉換上造成的亂碼。

TOP

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