| 
    
     |  | お世話になっております。 
 現在、保存の直前にシートをオートフィルタでソートするようにVBAを作成しています。
 しかし、ソートせずに保存するよりもファイルサイズが大きくなってしまっており、これを解消したいと考えています。
 
 下記の様に、保存前に標準モジュールに作成したSorting()を呼び出し、対象のシートを昇順でソートしています。
 コードの書き方など、おかしい箇所がありますでしょうか。
 よろしくお願いいたします。
 
 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
 Call sorting(SheetName)
 End Sub
 
 Sub sorting(sName As String)
 ActiveWorkbook.Worksheets(sName).AutoFilter.Sort.SortFields.Clear
 ActiveWorkbook.Worksheets(sName).AutoFilter.Sort.SortFields.Add Key _
 :=Range("B8"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
 xlSortNormal
 With ActiveWorkbook.Worksheets(sName).AutoFilter.Sort
 .Header = xlYes
 .MatchCase = False
 .Orientation = xlTopToBottom
 .SortMethod = xlPinYin
 .Apply
 End With
 End Sub
 
 |  |