VBA 스크립트 모음 [Excel의 sheet 이름에 따라 정렬]

자세히 보기
방금 문제가 생겼어요. 프로그램이 Excel을 처리한 후에 sheet의 번호 순서가 엉망인 걸 발견했어요. 곡 선생님께 물어봤는데 답을 받아서 이 스크립트를 붙였어요.
백업으로
 
Sub Sorting()
Dim sCount As Integer, i As Integer, j As Integer
Application.ScreenUpdating = False
sCount = Worksheets.Count
If sCount = 1 Then Exit Sub
For i = 1 To sCount - 1
For j = i + 1 To sCount
If Worksheets(j).Name < Worksheets(i).Name Then
Worksheets(j).Move before:=Worksheets(i)
End If
Next j
Next i
End Sub

Sub SortSheet()
Dim WsCount As Integer
Dim WsArray() As String
Dim Ws As Worksheet
On Error Resume Next
WsCount = ActiveWorkbook.Worksheets.Count
ReDim WsArray(1 To WsCount)
If ActiveWorkbook.ProtectStructure Then
        MsgBox ActiveWorkbook.Name & "    ,      ,        ", _
           vbCritical, "       "
        Exit Sub
End If
For Each Ws In ActiveWorkbook.Worksheets
   t = t + 1
   WsArray(t) = Ws.Name
Next Ws
'       
For i = 1 To UBound(WsArray) - 1
   For j = i + 1 To UBound(WsArray)
         If WsArray(i) > WsArray(j) Then
              t = WsArray(i)
              WsArray(i) = WsArray(j)
              WsArray(j) = t
         End If
   Next j
Next i
'  Move    Sheets(i)     ,        
For i = 1 To WsCount
   Worksheets(WsArray(i)).Move before:=Sheets(i)
Next i
End Sub
 
사용 방법:
sheet 밑에 있는 오른쪽으로 "코드 보기"- "를 열고 코드 영역cp이상 스크립트 -"메뉴 "실행"(또는 F5) 을 누르면 저장할 수 있습니다!

좋은 웹페이지 즐겨찾기