返回列表 上一主題 發帖

[發問] 用時間控制的程式,時間要跨過隔日的 VBA要如何寫?

[發問] 用時間控制的程式,時間要跨過隔日的 VBA要如何寫?

想要寫一支VBA  紀錄 台指期"日盤"和"午後盤" 的資料
午後盤時間這一段要跨到隔天早上,寫不出來,PO上來請教高人。

Sub 共用參照()
Set MyBook = ThisWorkbook
Set Sht1 = MyBook.Sheets("台指期")

If [A1] = "日盤" And Time >= TimeValue("08:44:00") And Time <= TimeValue("13:45:00")Then '依據儲存格A1的值為"日盤"或"夜盤"--> 選擇"日盤"
     StartTime = "08:44:10"   '日盤開盤前50秒-->執行程式
     EndTime = "13:45:10"     '日盤收盤後10秒-->停止程式
End If


If [A1] = "夜盤" And Time >= TimeValue("15:00:00") And Time <= TimeValue("05:00:00") Then  '選擇夜盤(15:00:00 ~ 隔日早上 05:00:00)

     StartTime = "14:59:10"  '夜盤開盤前50秒-->執行程式
     EndTime = "05:00:10"    '夜盤收盤後10秒-->停止程式

End If

End Sub
程式時間跨隔日.jpg

If Now >= (Date + 0 + TimeValue("15:00:00")) And _
   Now <= (Date + 1 + TimeValue("05:00:00")) Then
   
   ...............
End If

TOP

本帖最後由 ABK 於 2018-4-26 23:09 編輯

回復 2# jackyq

我仿製了pcboy大 發問的文篇: "DDE每分鐘記錄的資料排序問題"  [ http://forum.twbts.com/thread-20603-1-1.html ] 裡面的程式碼。

將跨隔日的Code 寫入, 想做成可以跑台指"日盤"和"午後盤"每分鐘的紀錄,
停止時間那邊沒寫好, 按鈕啟動"自動記錄"後 , 沒有跑起來 !   一直卡在收盤時間。

-- A1格那邊可以選擇"日盤"或"夜盤" --

1分鐘紀錄- 測試檔-3.rar (80.11 KB)

TOP

測看看:
20120531a02(DDE每1分記錄)-1.rar (20.31 KB)
EXCEL參考資料:
http://blog.xuite.net/smile1000mile/blog

TOP

回復 4# 准提部林


謝謝准堤大 !      只能說驚嘆,版面清爽有力,看起來很舒服!   

可否請教准堤大 資料是如何抓取的, 公式和程式裡都沒有看到任何資料源的呼叫,也不需要開卷商的軟體數值就會進來。

又這些數值看起來怪怪的,例如台指 、摩台和加權的值 , 還是說 A2:Q5那一區是假資料 用來測試紀錄的程式?
2018-04-27_准堤大.jpg

TOP

本帖最後由 准提部林 於 2018-4-27 19:20 編輯

回復 5# ABK


那是用亂數作為測試用, DDE公式得各人需求自行去寫~~~
主要是解決[日盤][夜盤]的問題!
EXCEL參考資料:
http://blog.xuite.net/smile1000mile/blog

TOP

本帖最後由 ABK 於 2018-4-28 20:41 編輯

回復 6# 准提部林


  謝謝准堤大 !       了解了!
有辦法避免 在已經停止紀錄了, 又去按一次"停止鍵"時 不會跑出錯誤訊息嗎?
但是再去按"執行紀錄" 和 "清除紀錄資料"鍵 還是可以繼續正常運作 !
已經停止紀錄後 再按一次停止鍵的錯誤提示.jpg

TOP

回復 7# ABK

Sub 停止執行()
uMode = 0
Call 共用參照
Sht1.[O8] = "STOP"
On Error Resume Next
Application.OnTime Next_Time, "自動記錄", Schedule:=False
On Error GoTo 0
End Sub
EXCEL參考資料:
http://blog.xuite.net/smile1000mile/blog

TOP

回復 8# 准提部林


    謝謝准堤大!    OK了!

TOP

回復 4# 准提部林

准堤大您好 !
再請教一個問題, 如果在程式跑了一段時間後,我要清除紀錄,但是要保留最後一筆紀錄並讓它保留在第9行,清除資料的程式要如何改寫?
保留最後一行紀錄回到第9行.png

TOP

        靜思自在 : 一句溫暖的話,就像往別人身上灑香水,自己會沾到兩三滴。
返回列表 上一主題