Private Sub Worksheet_Change(ByVal Target As Range)
' A열(첫 번째 열)에서 변경이 일어났는지 확인합니다.
If Not Intersect(Target, Me.Columns("A")) Is Nothing Then
' 여러 셀을 한 번에 수정하는 경우, 오류 방지를 위해 실행하지 않습니다.
If Target.Cells.Count > 1 Then Exit Sub
' 변경된 셀이 비어있지 않은 경우에만 실행합니다.
If Target.Value <> "" Then
' 무한 루프를 방지하기 위해 잠시 이벤트 발생을 중지합니다.
Application.EnableEvents = False
' 변경된 셀 바로 오른쪽(B열)에 현재 날짜와 시간을 입력합니다.
Target.Offset(0, 1).Value = Now
' 이벤트 발생을 다시 활성화합니다.
Application.EnableEvents = True
Else
' A열의 내용이 삭제된 경우, B열의 시간 기록도 함께 삭제합니다.
Application.EnableEvents = False
Target.Offset(0, 1).Value = ""
Application.EnableEvents = True
End If
End If
End Sub