Excel 在固定列中打印日期和时间,而不是在事件日志的偏移量中打印
我想创建一个事件日志。有了表格,我会从C列开始在同一行中填充单元格,我希望在a列和B列中自动打印日期和时间。有时,从d列和C列开始的信息可能是空的。 下面的代码仅通过C列和C列的偏移量来实现这一点。即使我扩大了Intersect的范围,日期和时间也会被执行,而不会固定在A和B中。有人会给我一个提示吗Excel 在固定列中打印日期和时间,而不是在事件日志的偏移量中打印,excel,vba,offset,Excel,Vba,Offset,我想创建一个事件日志。有了表格,我会从C列开始在同一行中填充单元格,我希望在a列和B列中自动打印日期和时间。有时,从d列和C列开始的信息可能是空的。 下面的代码仅通过C列和C列的偏移量来实现这一点。即使我扩大了Intersect的范围,日期和时间也会被执行,而不会固定在A和B中。有人会给我一个提示吗 Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim rCell As Range Dim rChange As
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim rCell As Range
Dim rChange As Range
On Error GoTo ErrHandler
Set rChange = Intersect(Target, Range("C:C"))
If Not rChange Is Nothing Then
Application.EnableEvents = False
For Each rCell In rChange
If rCell > "" Then
With rCell.Offset(0, -2)
.Value = Date
.NumberFormat = "[$-2C09]ddd, DD/MM/YYYY"
.HorizontalAlignment = xlLeft
.EntireColumn.AutoFit
End With
With rCell.Offset(0, -1)
.Value = Time
.NumberFormat = "hh:mm"
.HorizontalAlignment = xlCenter
.EntireColumn.AutoFit
End With
Else
rCell.Offset(0, -1).Clear
rCell.Offset(0, -2).Clear
End If
Next
End If
ExitHandler:
Set rCell = Nothing
Set rChange = Nothing
Application.EnableEvents = True
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
End Sub
很好用!非常感谢,先生@蒂姆谢谢乔,我想我明白你的意思了。
Dim rw as Range
'.......
'.......
If rCell > "" Then
Set rw = rCell.EntireRow
With rw.Cells(1)
.Value = Date
.NumberFormat = "[$-2C09]ddd, DD/MM/YYYY"
.HorizontalAlignment = xlLeft
.EntireColumn.AutoFit
End With
With With rw.Cells(2)
.Value = Time
.NumberFormat = "hh:mm"
.HorizontalAlignment = xlCenter
.EntireColumn.AutoFit
End With
Else
rCell.EntireRow.Cells(1).Resize(1,2).Clear
End If
'.......