返回列表 上一主題 發帖

執行時間問題?

回復 3# mead
因為在8:45以前開檔,雖然有執行一次Timer
但因為直接跳出程序,並未準備下一次執行Timer
判斷式改一下
  If TimeValue(Now) <= TimeValue("08:45:00") Then Application.OnTime Now + TimeValue("00:00:01"), "Timer"
  If TimeValue(Now) >= TimeValue("13:45:00") Then Exit Sub '營業時間才執行
學海無涯_不恥下問

TOP

回復 5# mead
  1. Sub Timer()

  2. Dim HHMMSS As Integer

  3. On Error Resume Next

  4. ' Sheets("策略記錄").Select

  5. Sheets(2).Cells(2, 1) = Time '將時間show至策略的a2欄位

  6.   If (TimeValue(Now) <= TimeValue("08:45:00") Or TimeValue(Now) >= TimeValue("13:45:00")) Then GoTo 10 '營業時間才執行

  7. ' If Minute(Time) <> LastMin Then '開始後做

  8.     i = i + 1

  9.     If i = 60 Then


  10. Sheets(2).Range("a10000").End(xlUp).Offset(1, 0) = Time

  11. Sheets(2).Range("a10000").End(xlUp).Offset(0, 1) = O

  12. Sheets(2).Range("a10000").End(xlUp).Offset(0, 2) = H

  13. Sheets(2).Range("a10000").End(xlUp).Offset(0, 3) = L

  14. Sheets(2).Range("a10000").End(xlUp).Offset(0, 4) = C

  15.   

  16. Sheets(2).Range("a10000").End(xlUp).Offset(0, 5) = O1

  17. Sheets(2).Range("a10000").End(xlUp).Offset(0, 6) = H1

  18. Sheets(2).Range("a10000").End(xlUp).Offset(0, 7) = L1

  19. Sheets(2).Range("a10000").End(xlUp).Offset(0, 8) = C1


  20. Sheets(2).Range("a10000").End(xlUp).Offset(0, 9) = O2

  21. Sheets(2).Range("a10000").End(xlUp).Offset(0, 10) = H2

  22. Sheets(2).Range("a10000").End(xlUp).Offset(0, 11) = L2

  23. Sheets(2).Range("a10000").End(xlUp).Offset(0, 12) = C2

  24.      i = 0

  25.       O = Sheets(2).Cells(2, 2)

  26.       H = Sheets(2).Cells(2, 2)

  27.       L = Sheets(2).Cells(2, 2)

  28.       C = Sheets(2).Cells(2, 2)

  29.         

  30.      O1 = Sheets(2).Cells(2, 3)

  31.      H1 = Sheets(2).Cells(2, 3)

  32.      L1 = Sheets(2).Cells(2, 3)

  33.      C1 = Sheets(2).Cells(2, 3)

  34.      

  35.      O2 = Sheets(2).Cells(2, 4)

  36.      H2 = Sheets(2).Cells(2, 4)

  37.      L2 = Sheets(2).Cells(2, 4)

  38.      C2 = Sheets(2).Cells(2, 4)

  39. Else

  40.      C = Sheets(2).Cells(2, 2)

  41.      If H = "" Then H = Sheets(2).Cells(2, 2)

  42.      If C >= H Then H = C

  43.      If C < L Then L = C

  44.      If O = 0 Then O = Sheets(2).Cells(2, 2) Else O = O

  45.      If L = 0 Then L = Sheets(2).Cells(2, 2) Else L = L

  46.    

  47.      C1 = Sheets(2).Cells(2, 3)

  48.      If H1 = "" Then H1 = Sheets(2).Cells(2, 3)

  49.      If C1 >= H1 Then H1 = C1

  50.      If C1 < L1 Then L1 = C1

  51.      If O1 = 0 Then O1 = Sheets(2).Cells(2, 3) Else O1 = O1

  52.      If L1 = 0 Then L1 = Sheets(2).Cells(2, 3) Else L1 = L1

  53.    

  54.      C2 = Sheets(2).Cells(2, 4)

  55.      If H2 = "" Then H2 = Sheets(2).Cells(2, 4)

  56.      If C2 >= H2 Then H2 = C2

  57.      If C2 < L2 Then L2 = C2

  58.      If O2 = 0 Then O2 = Sheets(2).Cells(2, 4) Else O1 = O1

  59.      If L2 = 0 Then L2 = Sheets(2).Cells(2, 4) Else L2 = L2

  60.   End If

  61.         LastMin = Minute(Time)

  62. '  End If
  63. 10
  64. Application.OnTime Now + TimeValue("00:00:01"), "Timer" '每秒顯示

  65. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題