2011. 3. 25. 10:28
엑셀에서 탭(워크시트)들을 알파벳순으로 정렬하는 방법
2011. 3. 25. 10:28 in 개발관련/Office
엑셀에 별도로 그런 기능은 제공하지 않고,
MS쪽에 보니 VB매크로를 줘서 돌려보니까 잘 동작한다.
워크시트 아무데서나 alt-f11을 누르면 vb편집기가 나오고 거기 붙여 넣기 한담에 F5를 눌러서
돌리면 끝.
소스를 조금만 보면 오름차순/내림차순 변경도 가능할지도..
--- 아래부터가 소스
MS쪽에 보니 VB매크로를 줘서 돌려보니까 잘 동작한다.
워크시트 아무데서나 alt-f11을 누르면 vb편집기가 나오고 거기 붙여 넣기 한담에 F5를 눌러서
돌리면 끝.
소스를 조금만 보면 오름차순/내림차순 변경도 가능할지도..
--- 아래부터가 소스
Sub Sort_Active_Book()
Dim i As Integer
Dim j As Integer
Dim iAnswer As VbMsgBoxResult
'
' Prompt the user as which direction they wish to
' sort the worksheets.
'
iAnswer = MsgBox("Sort Sheets in Ascending Order?" & Chr(10) _
& "Clicking No will sort in Descending Order", _
vbYesNoCancel + vbQuestion + vbDefaultButton1, "Sort Worksheets")
For i = 1 To Sheets.Count
For j = 1 To Sheets.Count - 1
'
' If the answer is Yes, then sort in ascending order.
'
If iAnswer = vbYes Then
If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then
Sheets(j).Move After:=Sheets(j + 1)
End If
'
' If the answer is No, then sort in descending order.
'
ElseIf iAnswer = vbNo Then
If UCase$(Sheets(j).Name) < UCase$(Sheets(j + 1).Name) Then
Sheets(j).Move After:=Sheets(j + 1)
End If
End If
Next j
Next i
End Sub