Pat은 워크 시트에 새 데이터를 추가 할 때마다 자동으로 정렬하는 방법이 있는지 궁금합니다. 예를 들어 Pat은 이름 목록에 새 이름을 추가 할 때 이름이 항상 순서대로 자동 정렬되는 것이 좋을 것이라고 생각합니다.

이 작업을 수행 할 수있는 유일한 방법은 워크 시트에 새로운 내용이 입력 될 때마다 트리거되는 매크로를 사용하는 것입니다. 예를 들어 워크 시트의 내용이 변경 될 때 트리거되는 워크 시트의 코드에 매크로를 추가 할 수 있습니다. (워크 시트 탭을 마우스 오른쪽 단추로 클릭하고 나타나는 컨텍스트 메뉴에서 코드보기를 선택하여 코드 창을 볼 수 있습니다.) 다음은 이러한 간단한 매크로의 예입니다.

Private Sub Worksheet_Change(ByVal Target As Range)

On Error Resume Next     Range("A1").Sort Key1:=Range("A2"), _       Order1:=xlAscending, Header:=xlYes, _       OrderCustom:=1, MatchCase:=False, _       Orientation:=xlTopToBottom End Sub

매크로는 A 열의 데이터를 정렬하려고하고 A1 셀에 머리글이 있다고 가정합니다. 이름이 다른 열에있는 경우 셀 A2 참조를 B2, C2 등과 같은 다른 열로 변경하십시오.

물론 변경 사항이있을 때마다 정렬하는 것은 번거로울 수 있습니다.

데이터의 특정 부분이 변경 될 때만 발생하도록 정렬이 수행되는시기를 제한 할 수 있습니다. 다음 버전의 매크로는 A 열이 변경된 경우에만 데이터를 정렬합니다.

Private Sub Worksheet_Change(ByVal Target As Range)

On Error Resume Next     If Not Intersect(Target, Range("A:A")) Is Nothing Then         Range("A1").Sort Key1:=Range("A2"), _           Order1:=xlAscending, Header:=xlYes, _           OrderCustom:=1, MatchCase:=False, _           Orientation:=xlTopToBottom     End If End Sub

매크로를 사용하여 데이터를 자동으로 정렬하는 데는 몇 가지 단점이 있습니다. 첫째, 정렬을 위해 매크로를 사용하고 있으므로 작업은 본질적으로 “최종”입니다. 즉, 정렬 후에는 Ctrl + Z를 사용하여 작업을 취소 할 수 없습니다.

두 번째 단점은 데이터 입력이 다소 혼란 스러울 수 있다는 것입니다.

예를 들어, 위의 매크로 중 하나를 사용하고 워크 시트에 이름을 입력하기 시작하면 A 열의 내용을 마치는 즉시 정렬됩니다. 데이터가 5 개의 열을 사용하고 15 행에서 항목을 시작하는 경우 , A 열에 이름을 입력하는 즉시 (그리고 B ~ E 열에 데이터를 입력하기 전에) 데이터가 올바른 순서로 정렬됩니다. 즉, 정렬에서 이동 된 위치를 찾고 B 열에서 적절한 셀을 선택한 다음 레코드에 대한 나머지 데이터를 입력해야합니다. 물론이 문제를 해결하는 방법은 데이터를 부 자연스러운 순서로 추가하는 것입니다. A 열의 이름이 레코드에 대해 입력 한 마지막 항목인지 확인하기 만하면됩니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (9006)은 Microsoft Excel 2007 및 2010에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.

link : / excel-Automatically_Sorting_as_You_Enter_Information [정보 입력시 자동 정렬].