如果A列(同一行)的内容被更改,我发现在线宏自动输入B列(行X)中的日期。
我想修改它以便它可以在多行上运行 - 这样除了监视行A中的更改之外,它还会对列D,F中的列C,E,G和输入日期执行相同的操作, H(分别)如果前者的内容发生了变化。
这是我找到的宏,来自:http://excel.tips.net/T003116_Recording_a_Data_Entry_Time.html
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("A:A"))
If Not rChange Is Nothing Then
Application.EnableEvents = False
For Each rCell In rChange
If rCell > "" Then
With rCell.Offset(0, 1)
.Value = Now
.NumberFormat = "hh:mm:ss"
End With
Else
rCell.Offset(0, 1).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
我对所有不同的VBA元素都不太熟悉,所以请原谅基本问题。希望你能抽出时间帮忙,谢谢。
答案 0 :(得分:0)
替换:
Set rChange = Intersect(Target, Range("A:A"))
使用:
Set rChange = Intersect(Target, Range("A:A, C:C, E:E, G:G"))