워크 시트 탭 알파벳순 (Microsoft Excel)
통합 문서에서 많은 워크 시트를 사용하는 프로젝트에서 작업하는 경우 워크 시트 이름별로 정렬 할 수 있습니다. 다음의 짧은 매크로는 트릭을 매우 잘 수행합니다.
Sub SortSheets() Dim I As Integer, J As Integer For I = 1 To Sheets.Count - 1 For J = I + 1 To Sheets.Count If UCase(Sheets(I).Name) > UCase(Sheets(J).Name) Then Sheets(J).Move Before:=Sheets(I) End If Next J Next I End Sub
이 매크로는 통합 문서에 비교적 적은 수의 워크 시트가있는 경우에 작동합니다. 매크로를 실행할 때 실행하는 데 많은 시간이 걸린다는 것을 알게되면 매크로에서보다 효율적인 정렬 알고리즘을 사용할 수 있습니다. 예를 들어 다음은 모든 워크 시트의 이름을 배열로 읽고 BubbleSort 알고리즘을 사용하여 배열을 정렬 한 다음 실제 배열을 수행하는 버전입니다.
Sub SortSheets() Dim I As Integer Dim sMySheets() As String Dim iNumSheets As Integer iNumSheets = Sheets.Count Redim sMySheets(1 To iNumSheets) For I = 1 To iNumSheets sMySheets(I) = Sheets(I).Name Next I BubbleSort sMySheets For I = 1 To iNumSheets Sheets(sMySheets(I)).Move Before:=Sheets(I) Next I End Sub
Sub BubbleSort(sToSort() As String) Dim Lower As Integer, Upper As Integer Dim I As Integer, J As Integer, K As Integer Dim Temp As String Lower = LBound(sToSort) Upper = UBound(sToSort) For I = Lower To Upper - 1 K = I For J = I + 1 To Upper If sToSort(K) > sToSort(J) Then K = J End If Next J If I <> K Then Temp = sToSort(I) sToSort(I) = sToSort(K) sToSort(K) = Temp End If Next I End Sub
한동안 프로그래밍 해 본 사람이라면 BubbleSort가 좋은 범용 정렬 루틴이라는 것을 알고 있지만 더 빠른 것이 있습니다.
예를 들어 워크 시트가 상당히 많고 매우 혼란스럽게 시작하는 경우 QuickSort 알고리즘이 더 유용하다는 것을 알 수 있습니다. QuickSort를 사용하기 위해 위의 내용을 변경하려면 QuickSort 알고리즘을 서브 루틴으로 추가 한 다음 (좋은 Visual Basic 프로그래밍 책에서 알고리즘을 찾을 수 있음) 기본 SortSheets 매크로 내에서 프로 시저를 호출하면됩니다. (이는 BubbleSort가 호출되는 줄을 변경하는 것을 의미합니다.)
이 두 번째 매크로와 첫 번째 매크로 사이에는 또 다른 차이점이 있습니다. 첫 번째 매크로는 워크 시트의 이름을 지정하는 데 사용 된 텍스트의 대소 문자에주의를 기울이지 않습니다. 따라서 내 워크 시트는 내 워크 시트와 동일하게 표시됩니다. 두 번째 매크로는 텍스트 대소 문자에주의를 기울이고 그에 따라 정렬합니다. 물론 이것은 Excel이 워크 시트 이름의 대소 문자에주의를 기울이지 않기 때문에 특별히 큰 문제는 아닙니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (1959)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.
link : / excelribbon-Alphabetizing_Worksheet_Tabs [Alphabetizing Worksheet Tabs]
.