Board logo

標題: [發問] excel 類似時間碼錶寫法如何寫 [打印本頁]

作者: ahsiek    時間: 2015-1-28 10:52     標題: excel 類似時間碼錶寫法如何寫

各位大大們,想請你們幫忙想該如何寫
需求是,有一個變動值,若持續一分鐘都大於1,給我一個警示。

[attach]20146[/attach]

但一直想不到有什麼方法可以寫,目前是想說若用類似碼錶功能來記錄,是否可行?
如附檔上的內容: B2 和 C2 每秒都有變動值出現,而 B3值是 B2-C2 的絕對值
若 B3值 大於1的話,就記錄到 E欄裡,若小於1的話,就把E欄裡的記錄消除掉
若 E欄存滿60個記錄的話(等於一分鐘),就在 A1 警示我(變成紅色),讓我知道。

請問這個想法可行嗎?該如何寫呢?還是各位大大有別的想法可行呢?
這個問題困擾我好久,我一直想不到可行的方法。
希望各位能幫幫我,非常感謝。
作者: owen06    時間: 2015-1-29 23:44

回復 1# ahsiek


    新增模組,將此代碼貼上試試
  1. Sub test()
  2. t = Now + TimeSerial(0, 0, 1)
  3. If [b3] > 1 Then
  4.     [e3] = [e3] + 1
  5. ElseIf [b3] <= 1 Then
  6.     [e3] = ""
  7. End If
  8. If [e3] >= 60 Then
  9.     [a1].Interior.ColorIndex = 3
  10. Else: [a1].Interior.ColorIndex = 0
  11. End If
  12. Application.OnTime t, "test"
  13. End Sub
複製代碼

作者: ahsiek    時間: 2015-1-30 10:04

回復 2# owen06

謝謝owen06大大的回覆
但有個地方你可能誤會我的意思了。

在 if [b3]>1 Then
        [e3]=[e3]+1
這樣數值永遠都只會存在[e4] 裡,我需要的是,從 e3 一直記錄到 e61,超過 e61時,就警告我。

ElseIf [b3]<=1 Then
        [e3] = ""
這裡若是空白來佔 E欄的空間的話,就會不準確,所以我傾向改為

ElseIf [b3]<=1 Then
        Worksheets("Sheet1").Range("e3 : e61). Clear   

所以我想問一下,若 b3 >1時,就記錄到e3到e61裡,這個寫法怎麼寫呢?
再麻煩大大了,謝謝。
作者: owen06    時間: 2015-1-30 11:25

回復 3# ahsiek


    這樣子可以嗎?
  1. Sub test()
  2. t = Now + TimeSerial(0, 0, 1)
  3. ELR = [e65536].End(3).Row
  4. If [b3] > 1 Then
  5.     If [e3] = "" Then
  6.         [e3] = 1
  7.     Else: Range("E" & ELR + 1) = 1
  8.     End If
  9. ElseIf [b3] <= 1 Then
  10.     Range("e3:e" & ELR) = ""
  11. End If
  12. If Application.Count([e:e]) >= 60 Then
  13.     [a1].Interior.ColorIndex = 3
  14. Else: [a1].Interior.ColorIndex = 0
  15. End If
  16. Application.OnTime t, "test"
  17. End Sub
複製代碼

作者: 准提部林    時間: 2015-1-30 13:56

若有問題,自行修改套用:
[attach]20161[/attach]
作者: ahsiek    時間: 2015-2-2 09:11

回復 4# owen06


    謝謝owen06大大的幫忙,我剛剛測試了,是可行的。非常非常地謝謝你。
作者: ahsiek    時間: 2015-2-2 09:11

回復 5# 准提部林


    謝謝准提部林大大的提供。不過我的權美不足,沒有辦法下載。
作者: 准提部林    時間: 2015-2-2 11:04

本帖最後由 准提部林 於 2015-2-2 11:14 編輯

回復 7# ahsiek

每秒記錄DDE變動值:
http://www.funp.net/107422
貼至網址列

程式預設10筆記錄時,顯示警示顏色及發出BEEP聲,請自行修改所需!
當程式執行中,可檢視其它工作表而不受影響,但儲存格進入編輯狀態時會暫停,須注意!
關閉檔案前,須按〔停止〕,並至少等一秒以上,再關閉檔案!
(若同時開啟多個檔案,只關閉本檔,一秒後可能會自動開啟,因等待下一秒執行的動作還存在,除非關閉整個EXCEL)
作者: ahsiek    時間: 2015-2-3 12:20

回復 8# 准提部林


    非常謝謝 准提部林大大 的分享和解釋。我來試試看!




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