|
- Option Explicit
- Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
- If Target.Column() = 4 Then Cancel = True
-
- End Sub
- Private Sub Worksheet_Change(ByVal Target As Range)
- Dim iCol, i&, iLastcol, iSpace, arr, iRow
- If Target.Column() <> 4 And Target.Offset(0, -1) = "" Then Exit Sub
- arr = Worksheets("记录表").Range("1:1")
- i = 1
- Do While i <= 256
- If arr(1, i) = "" Then iSpace = iSpace + 1
- If arr(1, i) <> "" Then iLastcol = i: iSpace = 0
- If arr(1, i) = Target.Offset(0, -1).Value Then
- iCol = i
- Exit Do
- End If
- If iSpace = 3 Then
- iCol = i
- With Worksheets("记录表")
- .Cells(1, i) = Target.Offset(0, -1).Value
- .Cells(2, i).Resize(1, 2) = Array("修改后值", "修改时间")
- End With
- Exit Do
- End If
- i = i + 1
- Loop
- With Worksheets("记录表")
- iRow = .Cells(1, iCol).End(xlDown).Row + 1
- .Cells(iRow, iCol).Value = Target.Value
- .Cells(iRow, iCol + 1).Value = Now
- End With
-
- End Sub
复制代码 |
|