返回列表 上一主題 發帖

[發問] 連續N筆資料判別

本帖最後由 准提部林 於 2021-1-1 11:20 編輯

Sub 判斷品質異常_A()
Dim Arr, Brr, R&, C%, N%(1), X%(1), i&, CL!
R = Cells(Rows.Count, 1).End(xlUp).Row - 2
If R < 1 Then Exit Sub
CL = [C1]
Arr = [A3].Resize(R)
ReDim Brr(1 To R, 1 To 4)
For i = 1 To R
    C = -(Arr(i, 1) > CL): Brr(i, 1) = C
    N(C) = N(C) + 1: N(1 - C) = 0
    If N(C) >= 7 Then Brr(i, 3 - C) = 1: X(C) = 1
Next i
[C3].Resize(R, 4) = Brr
If X(1) Then MsgBox "連續7點在中心線同側(大於)"
If X(0) Then MsgBox "連續7點在中心線同側(小於)"
End Sub


'================================

TOP

D3//右拉/下拉
=IF(COUNTIF(OFFSET($A3,,,-MIN(ROW(A1),7)),IF(COLUMN(A1)=1,">","<=")&$C$1)>6,1,"")

TOP

回復 8# n7822123


With [A3].Resize(Rn, 5)
  Arr = .Value '五欄資料存入陣列
  .ClearContents '清除原有資料, 但原資料還在陣列中, 當陣列貼回時, 還會有殘留, 可修改a欄參數不更動其它列資料試試
End With

另外, 儘量不要清空原數據, 避免程式因錯誤中斷而遺失資料,
而且, 貼回時, 也應限制在變動區, 而避免全區貼回, 若資料龐大則須花費回寫填滿的時間


===============================

TOP

        靜思自在 : 口說好話、心想好意、身行好事。
返回列表 上一主題