|
みなさま、こんにちはー♪
久しぶりの投稿になります。(^。^)
会社の仕事で、うまく行かなくって困っています。
お助け、お願い致します。
ブック内の全シートのソートは、下記コード(某サイトから引用)で
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
|
|