Board logo

標題: 關於固定時間紀錄的修改 [打印本頁]

作者: 藍天麗池    時間: 2016-9-13 17:08     標題: 關於固定時間紀錄的修改

[attach]25237[/attach]

請教版上大大,附件是小弟修改的一個VBA,主要功能為記錄價格,裡面可以設定幾點開始和結束,也可設定間隔幾秒紀錄價格,但時間會跑掉

如附件所示,小弟設定9:01分開始,之後每5秒紀錄一次價格,所以在06、11、16、21、26、31、36、41、46、51、56、01...以此類推的時間會記錄價格,但此程式的時間到後面卻會跑掉,於附件A53的地方時間開始跑掉了

請教版上大大要如何將程式修改成固定在06、11、16、21、26、31、36、41、46、51、56、01...以此類推的時間紀錄,而不要跑掉呢??
作者: c_c_lai    時間: 2016-9-13 19:50

回復 1# 藍天麗池
附上一個之前應用的程式,你仔細看一下內中的處理
我想對你會有幫助的。因為每個人對時間的處理均有其個人之喜好,
所以自行參閱必有所獲。(目前眼睛剛手術完,宜多調養)
[attach]25238[/attach]
作者: 藍天麗池    時間: 2016-9-13 19:53

回復 2# c_c_lai

C大要多多休息,我先自己研究看看好了,感謝C大
作者: 藍天麗池    時間: 2016-9-13 20:01

回復 2# c_c_lai


    C大我剛剛看了範例,好像也是用間隔時間下去寫的,而不是用固定時間,我在自己思考看看好了,多多休息
作者: 藍天麗池    時間: 2016-9-13 21:00

回復 2# c_c_lai


    哈哈,果然靠我自己還是不太行,等C大好點在跟你請教
作者: 准提部林    時間: 2016-9-14 13:32

TM = Now
SND = 5 - (TM - 1) Mod 5
Application.OnTime TM + SND, "程式"
作者: 藍天麗池    時間: 2016-9-14 13:56

回復 6# 准提部林
準大請教一下,此程式碼要加在哪邊呢??
作者: jackyq    時間: 2016-9-14 14:01

Application.OnTime 應該只有一個方法可以準
作者: 藍天麗池    時間: 2016-9-14 14:04

回復 8# jackyq

可以請J大明示嗎??
作者: c_c_lai    時間: 2016-9-14 16:37

回復 5# 藍天麗池
  1. Sub mySchedule()
  2.     If TimeValue(Now) <= TimeValue("08:45:00") Or TimeValue(Now) > TimeValue("13:30:00") Then Exit Sub

  3.     Application.OnTime (Now + TimeValue("00:00:01")), "ThisWorkbook.RecordPrice"
  4. End Sub

  5. Sub RecordPrice()
  6.     Dim TimeRange As Variant

  7.     With Sheets("DDE")
  8.         Set TimeRange = .[A:A].Find(TimeSerial(Hour(Time), Minute(Time), Second(Time)))    '  檢查 "A" 欄位對應之時段
  9.         
  10.         If Not TimeRange Is Nothing Then
  11.             TimeRange.Offset(, 1) = Time
  12.         End If
  13.     End With
  14.    
  15.     mySchedule
  16. End Sub
複製代碼
[attach]25250[/attach]
作者: 藍天麗池    時間: 2016-9-14 17:58

本帖最後由 藍天麗池 於 2016-9-14 18:11 編輯

回復 10# c_c_lai
C大我看不太懂你的間隔時間是怎麼設定的

是把程式放在Thisworksheet嗎??剛剛執行後沒有任何動作,我之前的巨集都要刪掉嗎??我看C大圖裡面沒有巨集
作者: c_c_lai    時間: 2016-9-14 18:12

回復 11# 藍天麗池
[attach]25251[/attach]
作者: 藍天麗池    時間: 2016-9-14 18:19

回復 12# c_c_lai

C大,這個程式時間到會自己執行嗎??我剛剛修改時間後打開完全沒動作
作者: c_c_lai    時間: 2016-9-14 18:39

回復 13# 藍天麗池
別人解題時,請一定要先去了解解題之程式內容為何?
你要自己套用至你目前之程式內,而不要期望人家全部幫你套好。
這個範例已完全給你了處理的方法,你目前程式為何能啟動程式?
範例為何不能自動啟動?你要去看看你目前程式是怎麼運作的。
說白一點,你只要把範例程式套入到現有程式內就 OK 了。
作者: 藍天麗池    時間: 2016-9-14 18:50

回復 14# c_c_lai

C大我誤會你的意思了,你剛剛上傳的檔案,我以為是要修改成那樣
作者: c_c_lai    時間: 2016-9-14 18:51

回復 13# 藍天麗池
請留意 #10 的圖示,左方是執行的對等關係;
又方式執行之程式 (mySchedule()),請留意它的運最時間
If TimeValue(Now) <= TimeValue("08:45:00") Or TimeValue(Now) > TimeValue("16:30:00") Then Exit Sub
j我是故意將終止時段望後延至 "16:30:00"。
作者: 藍天麗池    時間: 2016-9-14 18:54

回復 16# c_c_lai


    但是C大,我還是不太了解此程式是怎麼將時間設定在固定秒數紀錄的,可以請C大講解一下嗎??
作者: c_c_lai    時間: 2016-9-14 19:12

回復 17# 藍天麗池
[attach]25252[/attach]
作者: 藍天麗池    時間: 2016-9-14 21:07

回復 18# c_c_lai

C大,你是用比對的方法寫嗎??我隔天都會將資料全部砍掉(A2以下都會刪掉),讓他寫新的,所以好像無法用比對的方式
作者: c_c_lai    時間: 2016-9-14 22:07

回復 19# 藍天麗池
戲法人人便!
作者: c_c_lai    時間: 2016-9-15 08:19

回復 19# 藍天麗池
[attach]25253[/attach]
[attach]25254[/attach]
戲法自個兒去變!
作者: 藍天麗池    時間: 2016-9-15 11:15

回復 20# c_c_lai
C大,我了解了,我在想想看
作者: 准提部林    時間: 2016-9-15 12:08

不知你是否有看過這個帖子:
http://forum.twbts.com/viewthread.php?tid=15062

若能搞懂範例檔中的程式意義及流程,其它的大概沒什麼問題?
不要覺得程式太難,那只是我初學VBA時,以僅知的語法寫的,差別在用了很多時間去摸擬及測試,
以你目前一知半解情況下,有時是問不出所以然的,畢竟別人給的是方法,最後要自己去套用的!
作者: hcm19522    時間: 2016-9-15 12:43

本帖最後由 hcm19522 於 2016-9-15 12:45 編輯

A3=09:00:01
A4=(ROUND(A3*86400,)+5)/86400
下拉      函數參考




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