Board logo

標題: 抓取電流突波次數,及計算其平均值問題 [打印本頁]

作者: s12t34    時間: 2016-10-7 06:49     標題: 抓取電流突波次數,及計算其平均值問題

[attach]25471[/attach]

麻煩大大,幫忙查看電流抓取寫法,
如附件,電流抓取問題
謝謝!
:)

[attach]25470[/attach]
作者: s12t34    時間: 2016-10-7 10:46

回復 1# s12t34


有設定設定格式化條件>95,這是為了突顯其突波電流
因之前程式計算有的會把此範圍計算為前後各1次,
謝謝版大提醒  :)
作者: s12t34    時間: 2016-10-7 14:47

本帖最後由 s12t34 於 2016-10-7 14:53 編輯

[attach]25476[/attach]
我先抓突波電流值再小於20之中計算一次

原本以寫函數 =IF(C3<20,IF(C4>20,IF(C5>100,1,""),""),"")
[attach]25477[/attach]

麻煩大大指點指點,謝謝。

   [attach]25473[/attach]
作者: GBKEE    時間: 2016-10-9 08:43

本帖最後由 GBKEE 於 2016-10-9 20:27 編輯

回復 3# s12t34
試試看,是否如此
  1. '觀察附檔為計算C欄的邏輯是,大於100的連續範圍的次數
  2. Option Explicit
  3. Sub Ex()
  4.     Dim i As Integer, S As Single, Max_Count As Integer, V As Integer
  5.     i = 2
  6.     Range("D:D").Interior.ColorIndex = xlNone
  7.     Do While Cells(i, "c") <> ""
  8.         If Cells(i, "c") > 100 Then
  9.             Max_Count = Max_Count + 1
  10.             Do While Cells(i, "c") > 100
  11.                 V = V + 1        '大於100的 次數**********
  12.                 S = S + Cells(i, "c")
  13.                 Cells(i, "D") = "AA" & Max_Count  '輔助你查看次數是否正確
  14.                 Range("D" & i).Interior.Color = vbYellow    '輔助你查看是否正確
  15.                 i = i + 1
  16.             Loop
  17.         Else
  18.             i = i + 1
  19.         End If
  20.     Loop
  21.     [J2] = "次  數 ="
  22.     [J3] = "平均值 ="
  23.     [J4] = "最大值 ="
  24.     [K1] = " 01、08、14 "
  25.     [U1] = " 01H "
  26.     [K2] = Max_Count
  27.     [K3] = S / V 'Max_Count
  28.     [K4] = "=MAX(R[-2]C[-8]:R[9996]C[-8])"
  29. ''執行後: D欄自動篩選,條件開頭以"AA" 可查看是否正確
  30. End Sub
複製代碼

作者: 准提部林    時間: 2016-10-9 13:28

計算規則還不詳細, 大約寫一下:
  1. Sub 取出結果(C%, M, ST1$, ST2$)
  2. Dim Arr, i&, V&, U&, S, uMax
  3. Arr = Range(Cells(1, C + 2), Cells(65536, C + 2).End(xlUp)(2))
  4. For i = 2 To UBound(Arr) - 1
  5.     If Val(Arr(i, 1)) > Val(M) Then
  6.        V = V + 1
  7.        S = S + Arr(i, 1)
  8.        If Arr(i, 1) > uMax Then uMax = Arr(i, 1)
  9.        If Val(Arr(i + 1, 1)) <= Val(M) Then U = U + 1
  10.     End If
  11. Next
  12. [J2] = "次  數 =":   [J3] = "平均值 =":   [J4] = "最大值 ="
  13. [K1].Cells(1, C) = " " & ST1 & " "
  14. [K1].Cells(2, C) = U
  15. [K1].Cells(3, C) = S / V
  16. [K1].Cells(4, C) = uMax
  17. [U1].Cells(1, C) = " " & ST2 & " "
  18. End Sub

  19. Private Sub Button1_Click()
  20. Call 取出結果(1, 100, " 01、08、14 ", " 01H ")
  21. End Sub

  22. Private Sub CommandButton1_Click()
  23. Call 取出結果(2, 30, "02、09、15", "02H")
  24. End Sub

  25. Private Sub CommandButton2_Click()
  26. Call 取出結果(3, 50, "03、10、16", "03H")
  27. End Sub

  28. Private Sub CommandButton3_Click()
  29. Call 取出結果(4, 30, "04、11、17", "04H")
  30. End Sub

  31. Private Sub CommandButton4_Click()
  32. Call 取出結果(5, 50, "05、12、18", "05H")
  33. End Sub

  34. Private Sub CommandButton5_Click()
  35. Call 取出結果(6, 50, "06、13、19", "06H")
  36. End Sub

  37. Private Sub CommandButton6_Click()
  38. Call 取出結果(7, 50, "07、14", "07V")
  39. End Sub
複製代碼
[attach]25501[/attach]
作者: s12t34    時間: 2016-10-9 17:18

謝謝G大大和准大的解答,
G大,不好意思平均電流計算值有問題

小弟我還不太懂VBA,只用錄製學習中.....
再次謝謝兩位大大解答

作者: s12t34    時間: 2016-10-9 23:31

本帖最後由 s12t34 於 2016-10-9 23:35 編輯

回復 4# GBKEE


謝謝G大,平均電流計算值OK了
辛苦了!
:)




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)