返回列表 上一主題 發帖

[發問] (已解決)統計顏色次數

[發問] (已解決)統計顏色次數

本帖最後由 freeffly 於 2012-2-22 17:02 編輯

如果我有一個資料是用當月價格比較上次交易價格
當價格較低時會標上顏色
要用什麼方式可以計算出該列的顏色出現次數
就是該產品降價次數?

新增 Microsoft Excel 工作表 (3).rar (1.63 KB)
字典兩各字 還真難理解

回復 2# chin15


    可能發帖的時候沒說很清楚
   我想要的結果統計各商品的跌價次數
   如附檔
   大大的方式是統計所有顏色的出現次數
   不知道我的想法有沒有方式可以完成?


新增 Microsoft Excel 工作表 (3).rar (7.15 KB)
字典兩各字 還真難理解

TOP

回復 4# GBKEE


    這是我要的結果
     謝謝大大的回覆
字典兩各字 還真難理解

TOP

回復 4# GBKEE

   這兩天拿出來研究時發現有些程式碼用法不太懂

    Sub Ex()
    Dim Rng As Range, X As Range, R As Range, Tolta%, A%, i%, ii%
    Cells.ClearFormats
    Set Rng = Range("B2:I" & [A2].End(xlDown).Row)
    For Each R In Rng.Rows
        Set Rng = R.Cells(1)       R.Cells(1)→這個是指?        A = 0
        For ii = 2 To 8
            If R.Cells(1, ii) <> "" And Rng > R.Cells(1, ii) Then      R.Cells(1, ii)這個跟上面問的差異在哪?
                Set Rng = R.Cells(1, ii)
                R.Cells(1, ii).Font.ColorIndex = 7
                Tolta = Tolta + 1
                A = A + 1
                With R.Cells(1, 10)
                    .Value = A
                    .Interior.ColorIndex = 4
                End With
            ElseIf R.Cells(1, ii) <> "" And Rng < R.Cells(1, ii) Then
                Set Rng = R.Cells(1, ii)                                   這一整句的意思是?
            End If
        Next
    Next
    [L1] = Tolta
End Sub



如果我要將降價改為漲價是不是寫法不太依樣還是修改什麼地方可以達到效果?
字典兩各字 還真難理解

TOP

回復 7# GBKEE


    謝謝大大解說
     我在研究一下如何改成漲價的判斷
字典兩各字 還真難理解

TOP

回復 7# GBKEE
  1. Sub up()
  2.     Application.ScreenUpdating = False
  3.     Dim Rng As Range, X As Range, R As Range, Tolta%, A%, i%, ii%
  4.     With Cells.Font
  5.         .ColorIndex = 0
  6.         .Bold = False
  7.     End With
  8.     Set Rng = Range("C5:AD" & [A65536].End(xlUp).Row)
  9.     For Each R In Rng.Rows
  10.         Set Rng = R.Cells(1)
  11.         A = 0
  12.         Y = [iv4].End(xlToLeft).Column - 1
  13.         For ii = 2 To 28
  14.             If R.Cells(1, ii) <> "" And Rng < R.Cells(1, ii) Then
  15.                 Set Rng = R.Cells(1, ii)
  16.                 With R.Cells(1, ii).Font
  17.                     .ColorIndex = 7
  18.                     .Bold = True
  19.                 End With
  20.                 A = A + 1
  21.                 With R.Cells(1, Y)
  22.                     .Value = A
  23.                     .Interior.ColorIndex = 4
  24.                 End With
  25.             ElseIf R.Cells(1, ii) <> "" And Rng > R.Cells(1, ii) Then
  26.                 Set Rng = R.Cells(1, ii)
  27.             End If
  28.             If R.Cells(1) = "" Then
  29.             With R.Cells(2).Font
  30.                 .ColorIndex = 0
  31.                 .Bold = False
  32.            End With
  33.            End If
  34.         Next
  35.     Next
  36. End Sub
複製代碼
  1.    If R.Cells(1) = "" Then
  2.             With R.Cells(2).Font
  3.                 .ColorIndex = 0
  4.                 .Bold = False
  5.            End With
  6.            End If
複製代碼
這一段原本是為了如果該行的第一格為空白第2格就不要做反應
可是我忘了還有第3、4....格
請問這各要怎麼修改?
字典兩各字 還真難理解

TOP

如附檔中標註的那兩各位子
要怎樣讓程式碼不對這種情形做動作可是又不會影響到他後面的數字做動作

Book1.rar (3.96 KB)
字典兩各字 還真難理解

TOP

回復 11# GBKEE


    如附檔黃色標起來的地方不應該被認為漲價
      因為前面沒交易
       你提的那行程式碼我是要用來讓他直接在資料的右邊統計
    統計顏色.rar (6.6 KB)
字典兩各字 還真難理解

TOP

不知道我的附檔大大看的懂嗎?
字典兩各字 還真難理解

TOP

回復 14# GBKEE


    表達上可能有些不清楚
不過大大的方式我改過已經是我要的

只是不知道我這樣改事不是最佳的方式
附上我要的完成品
又學到新東西
謝謝
  1. Sub up()
  2.     Application.ScreenUpdating = False
  3.     Dim Rng As Range, X As Range, R As Range, Tolta%, A%, i%, ii%
  4.     With Cells
  5.         .Interior.ColorIndex = xlNone
  6.         .Font.ColorIndex = 0
  7.         .Font.Bold = False
  8.     End With
  9.     Set Rng = Range("C5:AD" & [A65536].End(xlUp).Row)
  10.     For Each R In Rng.Rows
  11.         Set Rng = R.Cells(1)
  12.         A = 0
  13.         Set Rng = R.Cells(1, 0).End(xlToRight)
  14.         Rng.Interior.ColorIndex = 0
  15.         Y = [iv4].End(xlToLeft).Column - 1
  16.         For ii = 2 To 28
  17.             If R.Cells(1, ii) <> "" And Rng < R.Cells(1, ii) Then
  18.                 Set Rng = R.Cells(1, ii)
  19.                 With R.Cells(1, ii).Font
  20.                     .ColorIndex = 7
  21.                     .Bold = True
  22.                 End With
  23.                 A = A + 1
  24.                 With R.Cells(1, Y)
  25.                     .Value = A
  26.                     .Interior.ColorIndex = 4
  27.                 End With
  28.             ElseIf R.Cells(1, ii) <> "" And Rng > R.Cells(1, ii) Then
  29.                 Set Rng = R.Cells(1, ii)
  30.             End If
  31.         Next
  32.     Next
  33. End Sub
複製代碼
統計顏色.rar (10.83 KB)
字典兩各字 還真難理解

TOP

        靜思自在 : 【蒙蔽的自由】人常在什麼都可以自由自在的時候,卻被這種隨心所欲的自由蒙蔽,虛擲時光而毫無覺知。
返回列表 上一主題