- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
4#
發表於 2011-5-5 08:38
| 只看該作者
本帖最後由 GBKEE 於 2011-5-5 08:59 編輯
回復 3# kimo5566
請將 程式碼 貼於 一般模組內 存檔關閉後 再開啟檔案時自動執行Auto_Open的程序- Option Explicit
- Sub Auto_Open()
- Dim T As Date
- T = Time '現在時間
- Sheets("Sheet2").UsedRange.Offset(, 1).Select
- If T < #1:30:00 PM# Then Sheets("Sheet2").UsedRange.Offset(, 1).Clear
- '早於開盤時間時清除舊有資料
- If T < #9:00:00 AM# Then T = #9:00:00 AM# Else T = Now
- '現在時間 早於開盤時間時 [設定的時間] 為 9點
- '現在時間 晚於等於開盤時間時 [設定的時間]為 現在時間 '
- Application.OnTime T, "Ex" '於[設定的時間]執行 Ex 程序
- End Sub
- Sub Ex()
- Dim Rng As Range, T As Date
- T = Time
- With Sheets("Sheet2")
- Set Rng = .Cells(2, Columns.Count).End(xlToLeft).Offset(, 1) '記錄下來的位置
- Rng.Resize(, 2) = T
- Rng.Offset(1).Resize(3, 2) = Sheets("Sheet1").Range("C1").Resize(3, 2).Value
- Rng.Resize(, 2).EntireColumn.AutoFit
- End With
- If Minute(T) Mod 10 Then '設定時間的分鐘 不是 10 ,20,30....
- T = TimeSerial(Hour(T), Minute(T) + (10 - Minute(T) Mod 10), 0)
- '調整設定時間的分鐘 是 10 ,20,30....
- Rng.Resize(, 2).NumberFormatLocal = "h:mm:ss AM/PM"
- Else
- T = T + #12:10:00 AM# '[設定時間]+10分鐘 10 ,20,30....
- End If
- If Time < #1:30:00 PM# Then '於開盤時間時內
- Application.OnTime T, "Ex" '於[設定的時間]執行 Ex 程序
- End If
- End Sub
複製代碼 |
|