- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
2#
發表於 2012-3-9 17:44
| 只看該作者
回復 1# jimmy121212 - Option Explicit
- '檔案開啟時 自動執行的程式 '請複製到ThisWorkbook 的模組
- Private Sub Workbook_Open() 'ThisWorkbook 的預設事件
- Dim E As Range
- With Sheets("SHEET1").Range("C3:C303") 'With : 每分鐘的範圍 [儲存格]物件中
- .Offset(, 1).Resize(, 3) = "" '清理先前舊資料
- For Each E In .Cells '每分鐘的範圍內處理時間
- If E >= Time Then Application.OnTime E, "ThisWorkbook.EX"
- '[儲存格] 時間大於等於 現在時間
- 'OnTime 方法 安排一個程序在將來的特定時間執行 (既可為某個日期的指定時間,也可為指定的時間之後)。
- Next
- End With
- End Sub
- Sub Ex() '記錄dde每分鐘變更的資料 '請複製到ThisWorkbook 的模組
- Dim Rng As Range, F As Range
- With Sheets("SHEET1")
- Set Rng = .Range("D2:F2") '要記錄的資料範圍
- ' 每分鐘的範圍 中 尋找 現在的時間
- Set F = .Range("C3:C303").Find(Format(Time, "hh:mm"), LookIn:=xlValues)
- 'Not F Is Nothing :找到後在 ,[現在的時間],Offset(0, 1): 右移一欄 Resize(1, 3): 擴充1列3欄的範圍 = 要記錄的資料
- If Not F Is Nothing Then F.Offset(0, 1).Resize(1, 3) = Rng.Value '
- End With
- End Sub
複製代碼 |
|