- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
87#
發表於 2016-4-10 15:09
| 只看該作者
回復 83# 藍天麗池
我的部分:
ThisWorkbook:- Option Explicit
- Private Sub Workbook_Open()
- ' Nothing to do (保留)
- End Sub
複製代碼 shtRTD(RTD)表單:- Option Explicit
- Private Sub Worksheet_Change(ByVal Target As Range)
- ' 當 Target (總量) 欄位有異動時, 則去呼叫 RecordPrice 的方法 (Method)。
-
- If Target.Row = 2 And Target.Column Mod 4 = 0 Then
- Call RecordPrice(Target)
- End If
- End Sub
複製代碼 Module1:- Option Explicit
- Sub RecordPrice(TG As Range)
- Dim WR As Long, cts As Long
-
- With Sheets("RTD")
- If .Range("A1") < 1 Then Exit Sub
-
- cts = TG.Column
-
- WR = .Cells(Rows.Count, cts).End(xlUp).Row + 1 ' 求取該異動欄位的最後一筆紀錄列位置
-
- If WR = 3 Or .Cells(WR - 1, cts) <> .Cells(2, cts) Then
- .Cells(WR, cts).Offset(, -3).NumberFormatLocal = "hh:mm:ss" ' 設定儲存格格式 (時間)
-
- .Cells(WR, cts).Offset(, -2).Resize(, 3) = .Range(TG.Address).Offset(, -2).Resize(, 3).Value
- End If
- End With
- End Sub
- Sub 時間()
- Sheets("RTD").Cells(2, 1) = WorksheetFunction.Text(Now(), "hh:mm:ss")
- Application.OnTime Now() + TimeValue("00:00:01"), "時間"
- End Sub
- Sub Cls()
- With Sheets("RTD")
- .Range("A3:OK5000").ClearContents
- .[A3].Select
- End With
- End Sub
複製代碼 |
|