- 帖子
- 75
- 主題
- 1
- 精華
- 0
- 積分
- 371
- 點名
- 0
- 作業系統
- win7
- 軟體版本
- office 2007
- 閱讀權限
- 20
- 註冊時間
- 2010-5-4
- 最後登錄
- 2025-3-13
|
- Public uMode&, StartTime, EndTime
- Public MyBook As Workbook, Sht1 As Worksheet, Sht2 As Worksheet, xRow&
- Dim o As Single
- Dim h As Single
- Dim l As Single
- Dim c As Single
- Sub 共用參照()
- Set MyBook = ThisWorkbook
- Set Sht1 = MyBook.Sheets("Sheet1")
- StartTime = "02:34:00" '開盤時間(提早十秒開始,才可記錄開盤量價)"08:44:50"
- EndTime = "23:59:50" '收盤時間(延後十秒停止記錄)此為測試用時間,請自行更改正式時間 "13:45:10"
- End Sub
- Sub 自動記錄()
- If uMode = 0 Then Exit Sub
- If Time > TimeValue(EndTime) Then '收盤時間以後不執行
- Sht1.[J8] = "已過收盤"
- uMode = 0
- Exit Sub
- End If
- Sht1.Range("B8") = Time '當前時間(時間碼表)
- If Second(Time) = 0 And Minute(Time) Mod 1 = 0 Then '每1分鐘記錄,5分鐘則改為 Mod 5
- xRow = Sht1.Range("A65536").End(xlUp).Row + 1
- If xRow < 9 Then xRow = 9
- Sht1.Range("A" & xRow & ":I" & xRow).Value = Sht1.Range("A8:I8").Value
- o = 0: h = 0: l = 0: c = 0
- If ActiveSheet.Name = Sht1.Name And xRow > 20 Then
- ActiveWindow.ScrollRow = xRow - 10 '讓最新資料保持在可見視窗中
- End If
- Beep
- GoTo xxx
- Else
- c = Sheets("sheet1").Cells(5, 3)
- If c > h Then h = c
- If c < l Then l = c
- If o = 0 Then o = Sheets("sheet1").Cells(5, 3) Else o = o
- If l = 0 Then l = Sheets("sheet1").Cells(5, 3) Else l = l
- Range("C8").Value = o
- Range("d8").Value = h '填最高價
- Range("e8").Value = l '填最低價
- Range("f8").Value = c '填收盤價
- xxx:
- ThisWorkbook.Save '存檔
- End If
- Application.OnTime Now + TimeValue("00:00:01"), "自動記錄"
- End Sub
複製代碼 試看看 |
|