Excel - 현재 날짜/시간을 셀에 자동으로 삽입합니다.

Excel - 현재 날짜/시간을 셀에 자동으로 삽입합니다.

내가 하려는 일은 열에 무언가를 삽입하거나 A열에 B삽입/업데이트할 현재 날짜와 시간을 삽입 하는 것입니다 D. 물론 이미 그렇게 했지만 열을 제외하고 싶습니다. CD, 이 열에 항목이 삽입되면 날짜/시간을 삽입/업데이트해서는 안 됩니다.

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. 열은 1 또는 2입니다.
  3. 대상은 단일 세포입니다.

그리고 아마도

  1. 현재 행의 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

이는 모든 필수 조건을 테스트해야 합니다.

관련 정보