返回列表 上一主題 發帖

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

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

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

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

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

回復 25# c_c_lai
看圖解文:  一直不明暸你的真正意思
3.  這種情事常易發生在當模組龐大,處理內容複雜時的不經意處理。
是啊! 所以須要仔細反覆的檢查程式碼 ,執行後的正確性

TOP

回復 24# GBKEE
您誤解我的意思,我的重點僅在於 Rng 變數的使用。

假設:For X = 1 To Rng ~ Next X 之內容非常複雜
1.  如果在 For Next Loop 內 Coding 時一時疏忽,同時引用了 Rng 變數並將其
      值改變;
2.  之後, 在 For Next Loop 後段處理時,亦同樣引用了 Rng 變數值,
      此處是希望引用原先的 Rng 變數值時,他忽略了在 For Next Loop 內
      已異動了 Rng 變數值,結果執行發生了不可預期的錯誤。
3.  這種情事常易發生在當模組龐大,處理內容複雜時的不經意處理。

而非您程式的解譯, 請您見諒。

TOP

回復 23# c_c_lai
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng As Integer, i As Integer, x As Integer
  4.     Rng = 10
  5.     i = 0
  6.     For x = 1 To Rng   '這裡迴圈最終值已設定=10 不受以後的影響
  7.         Debug.Print x  '請在即時視窗看 x 的變動
  8.         i = i + 1
  9.         Rng = i + 5    'Rng變數不影響迴圈最終值
  10.         x = Rng        '這 X變數才會影響迴圈的次數
  11.     Next
  12.     MsgBox "迴圈迴結束後 X= " & x
  13. End Sub
複製代碼

TOP

回復 22# GBKEE
我的本意是:

請您別介意,莫說糾正一詞了!

TOP

回復 21# c_c_lai
Set X = R.Cells(1) 在程序中是會表達明確些 , 不修改它在這程序中一樣達到效果,
程式中也 Dim  X As Range 應因是一時忘記用它吧!
謝謝你的提醒,糾正.

TOP

回復 4# GBKEE
  1.     Set Rng = Range("B2:I" & [A2].End(xlDown).Row)
  2.     For Each R In Rng.Rows
  3.         Set Rng = R.Cells(1)
複製代碼
您為何不寫成?
  1.     Set Rng = Range("B2:I" & [A2].End(xlDown).Row)
  2.     For Each R In Rng.Rows
  3.         Set X = R.Cells(1)
複製代碼

TOP

真的好厲害~

TOP

回復 18# Hsieh


    謝謝大大花時間解說
    那兩句的寫法對我來說還需要花時間裡解
字典兩各字 還真難理解

TOP

回復 17# freeffly


    Sub ex()
[AE:AE] = ""
R = 5'第5列開始
Do Until Cells(R, 2) = ""
Set Rng = Range(Cells(R, 3), Cells(R, "AD"))'C:AD欄的列範圍
i = 1
Do Until Rng(1, i) <> ""'找到該列的第一個數值位置
i = i + 1
Loop
first = Rng(1, i): i = i + 1'把第一個數值記住,準備從第一個數值後開始找數值
For k = i To Rng.Count
  If Rng(1, k) > first Then cnt = cnt + 1'如果儲存格數值比前一個數值大,計數的變數就加1
  If Rng(1, k) <> "" Then first = Rng(1, k)'如果不是空格,就把儲存格的值記住,準備跟下一個數值做比較
Next
Cells(R, "AE") = cnt: cnt = 0'整列跑完後,就把計數的值填入,然後歸零
R = R + 1'下一列
Loop
End Sub
學海無涯_不恥下問

TOP

        靜思自在 : 人事的艱難與琢磨,就是一種考驗。
返回列表 上一主題