내가 하려는 일은 열에 무언가를 삽입하거나 A
열에 B
삽입/업데이트할 현재 날짜와 시간을 삽입 하는 것입니다 D
. 물론 이미 그렇게 했지만 열을 제외하고 싶습니다. C
즉 D
, 이 열에 항목이 삽입되면 날짜/시간을 삽입/업데이트해서는 안 됩니다.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 1 Then Cells(Target.Row, "D") = Now()
End Sub
또한 다른 코드가 있지만 여전히 일부 열을 제외하는 방법을 찾을 수 없습니다(날짜/시간 업데이트가 작동해야 하는 열 범위를 만들기 위해).
Private Sub Worksheet_Change(ByVal Target As Range)
If Target(1, 1).Row > 1 Then
With Cells(Target(1, 1).Row, "D")
.Value = Now
.NumberFormat = "dd-mm-yyyy, hh:mm:ss"
End With
End If
End Sub
편집: 이것은 내 최종 코드입니다.
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Row > 1) And (Target.Column = 1) Then
With Cells(Target.Row, "D")
.Value = Date
.NumberFormat = "dd-mm-yyyy"
End With
End If
If (Target.Row > 1) And (Target.Column = 2) Then
With Cells(Target.Row, "E")
.Value = Now
.NumberFormat = "dd-mm-yyyy, hh:mm:ss"
End With
End If
End Sub
답변1
행 조건 외에 충족할 열 A와 B에 대한 조건을 추가합니다.
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Row > 1) And ((Target.Column = 1) Or (Target.Column = 2)) Then
'Cells(Target.Row, "D") = Now()
With Cells(Target.Row, "D")
.Value = Now
.NumberFormat = "dd-mm-yyyy, hh:mm:ss"
End With
End If
End Sub
이제 해당 두 열을 편집할 때만 날짜가 삽입됩니다.
답변2
다음 사항을 확인해야 합니다.
- 행이 1이 아닙니다.
- 열은 1 또는 2입니다.
- 대상은 단일 세포입니다.
그리고 아마도
- 현재 행의 D열이 비어 있습니다.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 1 _
And Target.Column <= 2 _
And Target.Cells.Count = 1 Then
Cells(Target.Row, "D") = Now()
End If
End Sub
이 코드는 셀이 2개 이상인 범위를 복사하여 붙여넣는 동안 작동하지 않습니다.
답변3
이것을 시도해 보십시오:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Long
r = Target.Row
c = Target.Column
If r > 1 And (c = 1 Or c = 2) Then
If Cells(r, "C") = "" And Cells(r, "D") = "" Then
Application.EnableEvents = False
Cells(r, "D") = Now()
Application.EnableEvents = True
End If
End If
End Sub
이는 모든 필수 조건을 테스트해야 합니다.