- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
9#
發表於 2011-11-12 06:46
| 只看該作者
回復 8# color790
慚愧 是我那一篇寫錯了 ,已更正了.- Private Sub Worksheet_Calculate()
- Dim startTime, stopTime
- Dim Tr As String, Time_Step As Date
- Time_Step = #12:05:00 AM# '設定間隔時間: 5分鐘->300秒
- 'Time_Step = #12:00:01 AM# '設定間隔時間: 1秒
- startTime = Range("b1") '開盤時間, 例如: "09:00:00 AM"
- stopTime = Range("d1") '收盤時間, 例如: "01:30:00 PM"
- If startTime > Time Then '<- 修改這裡 尚未開盤
- Exit Sub
- ElseIf stopTime < Time Then '<- 修改這裡 已經收盤
- Exit Sub
- Else
- If [C2] <> "-" And [C2] <> "###" Then '清盤的狀態, 不取其資料
- 'Tr = Int((nowTime - startTime) * 1440) + 30 '每差 300 秒就換一列
- Tr = Int((Time - startTime) / Time_Step) + 30 ' 每5分鐘一列 從第30列開始
- If Range("D" & Tr) = "" Then Range("D" & Tr) = Range("C2") '開始價
- If Range("E" & Tr) = "" Or Range("C2") > Range("E" & Tr) _
- Then Range("E" & Tr) = Range("C2") '最高價
- If Range("F" & Tr) = "" Or Range("C2") < Range("F" & Tr) _
- Then Range("F" & Tr) = Range("C2") '最低價
- Range("G" & Tr) = Range("C2") '結束價
- End If
- End If
- End Sub
複製代碼 |
|