| 
    
     |  | みなさま、こんにちはー♪ 久しぶりの投稿になります。(^。^)
 会社の仕事で、うまく行かなくって困っています。
 お助け、お願い致します。
 
 ブック内の全シートのソートは、下記コード(某サイトから引用)で
 OKなのですが、
 選択した複数のシートを対象にソートするには、
 どうしたらいいんでしょうか?
 ActiveWindow.SelectedSheetsを使用すればできそうなのですが
 私のレベルだと、うまくいきません!^^;
 
 
 Sub シートの並べ替え()
 '
 Dim ShMax As Integer
 Dim MyWS As Object
 Dim CurMax As Integer
 Dim i As Integer
 
 
 With ActiveWorkbook
 
 ShMax = ActiveWorkbook.Sheets.count
 
 If ShMax = 1 Then Exit Sub
 
 CurMax = 0
 For Each MyWS In .Worksheets
 CurMax = CurMax + 1
 If CurMax = 1 Then
 '      最初の1枚は先頭に。
 MyWS.Move before:=.Sheets(1)
 Else
 '      (CurMax - 1)は処理済みシート数を表す。
 For i = 1 To CurMax - 1
 '        MyWSより大きな名前の処理済みシートが
 '        存在した場合、その直前に移動させる。
 If MyWS.Name < .Sheets(i).Name Then
 MyWS.Move before:=.Sheets(i)
 Exit For
 End If
 Next i
 '      MyWSより大きな名前の処理済みシートが存在
 '      しなかった(i = CurMaxになっている。)場合、
 '      処理済みの直後に移動させる。
 If i = CurMax Then
 MyWS.Move after:=.Sheets(CurMax - 1)
 End If
 End If
 Next
 Sheets(1).Select
 
 End With
 
 End Sub
 
 
 |  |