列A(同じ行)の内容が変更された場合に、列B(行X)に日付を自動的に入力するマクロをオンラインで見つけました。
複数の行で機能するように変更したいので、行Aの変更を監視するだけでなく、列C、E、G、および列D、F、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要素すべてに精通しているわけではないので、基本的な質問は許してください。時間をかけてお役に立てれば幸いです。ありがとうございます。
交換:
Set rChange = Intersect(Target, Range("A:A"))
と:
Set rChange = Intersect(Target, Range("A:A, C:C, E:E, G:G"))
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加