- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
本帖最後由 c_c_lai 於 2015-11-19 09:30 編輯
回復 3# corcovado886
是否如此結果?- Sub 自動記錄()
- Dim cts As Integer
- If uMode = 0 Then Exit Sub
- If Time > TimeValue(EndTime) Then '收盤時間以後不執行
- Sht1.[W4] = "已過收盤"
- uMode = 0
- Exit Sub
- End If
- With Sht1
- .Range("W2") = Time '當前時間(時間碼表)
- '----------------------------------------------------------
- '每1分鐘記錄,5分鐘則改為 Mod 5
- If Second(Time) Mod 3 = 0 Then
- xRow = .Range("A65536").End(xlUp).Row + 1 '從最後一格往上尋找有資料的儲存格, 是在第幾列,然後再加1列
- If xRow < 11 Then xRow = 11 '如果列數小於11,則從第11列開始
- .Range("A" & xRow & ":V" & xRow).Value = .Range("A2:V2").Value
- For cts = 1 To 22
- .Range(Chr(64 + cts) & xRow).Font.Color = IIf(.Range(Chr(64 + cts) & xRow).Value >= 9, vbRed, vbBlack)
- Next
- .Range("W" & xRow).Value = Time 'W欄位的時間值往下記錄
- '------------------------------------------------
- If ActiveSheet.Name = .Name And xRow > 20 Then
- ActiveWindow.ScrollRow = xRow - 12 '讓最新資料保持在可見視窗中
- End If
- End If
- End With
- Application.OnTime Now + TimeValue("00:00:01"), "自動記錄" '每一秒遞迴一次
- End Sub
複製代碼 |
|