.png)
워크시트에 새 데이터를 입력하는 시트 1이 있고, 참조 시트에는 입력한 시간별로 정렬할 수 있도록 시트 1에서 동일한 값을 가져옵니다. 내 목표는 시트 1에 입력된 마지막 10개 항목을 표시하는 디스플레이를 시트 1에 표시하는 것입니다. 아래 수식을 사용하여 참조 시트를 날짜별로 정렬했지만 수식을 사용하여 값을 가져오기 때문에 트리거되지 않습니다. . 이것을 새로운 매크로와 결합하여 한 곳에 데이터를 입력하고 다른 곳에서 정렬할 수 있습니까?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim A As Range
Dim AB As Range
Set A = Range("A:A")
Set AB = Range("A:B")
If Intersect(Target, A) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
Target.Offset(0, 1) = Now
AB.Sort Key1:=Range("B1"), Order1:=xlDescending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Application.EnableEvents = True
End Sub
답변1
귀하의 문제는 수식 참조에 따라 시트가 변경되기 때문에 한 시트의 변경에 대해 매크로 코드가 트리거되지 않는다는 것입니다. 이 경우 코드(또는 필요한 Sub 호출)를Workbook_SheetChange()대신 서브? ('워크북'시트변경()변경하면 이벤트가 실행됩니다.어느시트). 다음을 사용하여 변경된 시트를 확인할 수 있습니다.Sh.이름이 Sub 내에서. 그리고 다음을 사용하여 변경 사항의 셀 주소를 얻으십시오.대상.주소.