다른 셀에 데이터를 입력할 때 셀을 자동으로 채우려면 오늘 날짜가 필요합니다.

다른 셀에 데이터를 입력할 때 셀을 자동으로 채우려면 오늘 날짜가 필요합니다.

B5-B39 셀에 데이터가 입력될 때마다 C5-C39 셀에 오늘 날짜가 자동으로 채워지도록 하고 싶습니다.

나는 그것을 사용하여 작동시키려고 노력했지만 =TODAY()수식을 구성하는 방법을 모릅니다.

답변1

이를 수행하는 가장 간단한 방법은 사용자 정의 함수를 사용하는 것이라고 말하고 싶습니다. 해당 함수는 참조하는 셀이 변경되면 업데이트되므로 이벤트에 연결할 필요가 없습니다.

문제에 대한 기능은 다음과 같습니다.

Function Updating_Date(dependent_cell as Range) As Date
  Updating_Date = Date
End Function

해당 코드를 통합 문서의 모듈에 넣은 후 간단히 입력하고 복사할 수 =Updating_Date(B5)있습니다 C5. 그러면 C열의 값이 변경될 때마다 C5의 날짜가 업데이트됩니다.

B열의 셀이 비어 있지 않은 경우에만 날짜가 표시되도록 하려면 C열의 셀에 if 수식을 적용하면 됩니다.당신이 물은 다른 질문. 여기에 표시된 것과 동일한 조건부(예: ISBLANK(B5))를 입력하고 조건이 true이면 반환 값이 빈 문자열( )이 되고 , 조건이 false이면 ""UDF( )가 됩니다.Updating_Date(B5)

답변2

다음은 셀 "A"에 변경 사항이 있을 때마다 셀 "B"에 오늘 날짜를 입력합니다.

Private Sub Worksheet_Change(ByVal Target As Range)
' Auto Date
Dim Cell As Range
For Each Cell In Target
    If Cell.Column = Range("A:A").Column Then
        If Cell.Value <> "" Then
            Cells(Cell.Row, "B").Value = Int(Now)
        Else
            Cells(Cell.Row, "B").Value = ""
        End If
    End If
Next Cell
End Sub

이 동작을 발생시키려는 워크시트의 VBA 모듈에 이 코드를 배치해야 합니다.

답변3

VBA 없이도 이 작업을 수행할 수 있습니다. B 열에 입력된 값을 기준으로 오늘 날짜를 채우려면 C 열이 필요했습니다. 이 수식은 올바르게 삽입되도록 작동합니다.

=IF(ISBLANK(B2)," ",NOW())

C 열이 시작되는 곳이기 때문에 이것을 C2 셀에 배치했습니다. 시작하려는 열의 셀에 이를 배치할 수 있습니다. 그런 다음 내 B2 참조가 값이 입력되는 열과 셀로 바뀌는지 확인하세요. 예를 들어 시작 셀이 F3인 경우 수식을 다음과 같이 변경해야 합니다.

=IF(ISBLANK(F3), " ",NOW()). 

해당 날짜 셀이 K3이면 거기에 수식을 배치하세요. (수식이 첫 번째 셀에 있으면 열의 나머지 셀로 수식을 끌어서 놓을 수 있습니다.)

이 수식은 "시작" 셀에 값이 입력될 때까지 날짜 셀을 비워 둡니다. 해당 값을 입력하면 날짜가 추가됩니다. 값이 삭제되면 Excel에서 자동으로 날짜를 제거합니다. 따라서 완벽하지는 않지만 좀 더 정교한 기능이 필요한 경우 Excel 전문가나 이를 처리해 주는 프로그램이 필요할 수 있습니다.

답변4

AFIK의 경우 VBA를 통해 이 작업을 수행해야 합니다. 워크시트의 변경 사항을 감시하고, B5-B39 셀의 변경 사항만 필터링하고 그에 따라 C의 셀을 업데이트하는 함수를 만들 수 있습니다.

업데이트: 아마도 Alt-F11을 사용하여 VBA에 들어가는 방법을 알게 될 것입니다.

Sheet1이라는 Excel 개체 또는 관심 있는 시트(왼쪽 위 트리 목록)를 두 번 클릭하여 해당 시트에 대한 코드를 가져옵니다.

2개의 드롭다운에서 워크시트 및 변경을 선택합니다. 따라서 다음과 같은 코드가 생성됩니다.

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

이제 변경되는 셀에 대한 참조인 "대상" 변수를 사용할 수 있습니다.

해당 줄 사이에 코드를 추가하세요.

debug.Print Target

즉시 실행 창을 표시하려면 Ctrl-G를 누르세요.

워크시트에서 일부 내용을 변경하고 코드로 다시 전환하면 입력한 데이터가 직접 실행 창에 나타나는 것을 볼 수 있습니다.

이제 코드를 변경하면 if Target.Target 변수와 관련된 가능한 속성의 드롭다운이 표시됩니다.

몇 가지 변경 사항을 적용하면 다음과 같은 결과를 얻을 수 있습니다.

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Column = 2 And (Target.Row > 4 And Target.Row < 40) Then
        Debug.Print Target.Value
    End If

End Sub

이제 관심 있는 범위의 변경 사항만 인쇄됩니다.

셀의 값을 변경하는 방법을 알고 싶다면 해당 작업을 수동으로 수행하는 매크로를 기록하고 코드를 검사할 수 있습니다. 이제 계속할 수 있을 만큼 충분하길 바랍니다. 그렇지 않다면 알려주세요.

관련 정보