Microsoft Excel 워크시트 자동 정렬

Microsoft Excel 워크시트 자동 정렬

항목이 업데이트될 때마다 자동으로 테이블을 다시 정렬하도록 Excel을 구성할 수 있습니까(스크립트 사용 가능)?

답변1

빠른 Google에서 나에게 다음을 제공했습니다.

http://www.techsupportforum.com/microsoft-support/microsoft-office-support/252123-can-someone-help-me-auto-sort-excel.html#post1499027

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는 일부 범위를 정렬하며 사용자의 데이터 범위에 맞게 조정할 수도 있습니다. 불필요한 줄을 삭제하고 워크시트 번호와 데이터 범위를 변경하기만 하면 됩니다.

관련 정보