返回列表 上一主題 發帖

[發問] "if"函數紀錄"動態"資料可否讓資料靜態停止?

本帖最後由 c_c_lai 於 2013-10-25 09:57 編輯

回復 1# shing0520
1.  首先妳開啟 "股票報價數據自動記錄.xlsx" 檔案後,將它另存新檔
      存檔類型請選擇 "Excel 啟用巨集的活頁簿 (*.xlsm)" 、或者
      "Excel 97-2003 活頁簿 (*.xls) " 的檔案型態。
2.  請將下列程式碼全部剪貼至 ThisWorkbook 程式碼區塊內儲存:
  1. Option Explicit

  2. Private Sub Workbook_Open()
  3.     If Weekday(Date, 2) <= 5 Then Scheduler     '  非假日則執行 Scheduler
  4. End Sub

  5. Sub RTimer()
  6.     Dim TimeRange As Range, Rng As Range
  7.     Dim tm As Date

  8.     If TimeValue(Now) >= TimeValue("13:45:01") Then Exit Sub    '  一過盤後即自行跳離,不再執行
  9.    
  10.     tm = Now()
  11.     With Sheets("連結時間記錄")
  12.         Set TimeRange = .[A:A].Find(TimeSerial(Hour(tm), Minute(tm), 0))   '  檢查 "A" 欄位對應之時間資料
  13.         If Not TimeRange Is Nothing Then       '  吻合預先排程時段,則執行對稱寫入資料
  14.             Set Rng = TimeRange.Offset(, 1).Resize(1, 2)
  15.             
  16.             Rng(1) = .[I2]     '  漲幅%
  17.             Rng(2) = .[G2]     '  成交
  18.         End If
  19.     End With

  20.     Scheduler
  21. End Sub

  22. Sub Scheduler()
  23.     If TimeValue(Now) < TimeValue("08:45:00") Then
  24.         Application.OnTime (TimeValue("08:45:00")), "ThisWorkbook.RTimer"        '  8:45 時間一到會自動執行
  25.     Else
  26.         Application.OnTime (Now + TimeValue("00:00:01")), "ThisWorkbook.RTimer"      '  每隔一分鐘搜尋一次
  27.     End If
  28. End Sub
複製代碼
3.  將檔案先行儲存關閉後,再重新開啟就可自動處理運作了。
4.  在程式中我加註了一些說明,希望對妳會有所幫助。祝愉快!

TOP

回復 5# shing0520
請問你的程式碼放置於何處?
模組裡放的是甚麼?

TOP

回復 5# shing0520

TOP

        靜思自在 : 道德是提昇自我的明燈,不該是呵斥別人的鞭子。
返回列表 上一主題