
항목이 업데이트될 때마다 자동으로 테이블을 다시 정렬하도록 Excel을 구성할 수 있습니까(스크립트 사용 가능)?
답변1
빠른 Google에서 나에게 다음을 제공했습니다.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Application.Intersect(Worksheets(1).Range("E9:F32"), Target) Is Nothing) Then
DoSort
End If
End Sub
Private Sub DoSort()
Worksheets(3).Range("E3:M7").Sort Key1:=Worksheets(3).Range("M3"), Order1:=xlDescending, _
Key2:=Worksheets(3).Range("L3"), Order2:=xlDescending, Header:=xlYes
Worksheets(3).Range("E10:M14").Sort Key1:=Worksheets(3).Range("M10"), Order1:=xlDescending, _
Key2:=Worksheets(3).Range("L10"), Order2:=xlDescending, Header:=xlYes
Worksheets(3).Range("E17:M21").Sort Key1:=Worksheets(3).Range("M17"), Order1:=xlDescending, _
Key2:=Worksheets(3).Range("L17"), Order2:=xlDescending, Header:=xlYes
Worksheets(3).Range("E24:M28").Sort Key1:=Worksheets(3).Range("M24"), Order1:=xlDescending, _
Key2:=Worksheets(3).Range("L24"), Order2:=xlDescending, Header:=xlYes
End Sub
나는 VBA에 대한 지식이 많지 않지만 이것을 사용자 정의하는 방법을 설명하려고 노력할 것입니다. 실패하면 알려주세요. ;)
첫 번째 하위 항목을 사용하여 함수가 실행되는 시기를 정의합니다. 위 줄은 워크시트 1의 E9~F32 셀에 있는 항목이 변경되면 DoSort를 시작한다고 말합니다.
DoSort는 일부 범위를 정렬하며 사용자의 데이터 범위에 맞게 조정할 수도 있습니다. 불필요한 줄을 삭제하고 워크시트 번호와 데이터 범위를 변경하기만 하면 됩니다.