SPREAD for WPF 4.0J - GcSpreadSheet
セル範囲のソート
MESCIUS SPREAD for WPF 4.0J - GcSpreadSheet > 開発者ガイド > ソート > セル範囲のソート

オートフィルタでソートを実行すると、項目を順序に並べ替えるとともに、指定基準に基づいて、同じプロパティを持つ項目をグループ化することもできます。

IRangeインタフェースのAutoFilterメソッドを使用することで、ワークシートでの選択範囲用のオートフィルタを作成できます。このメソッドを使用した後、ISort インタフェースのApplyメソッドを使用してソート操作を適用できます。オートフィルタを使用してワークシートを並べ替える際、SortOrder列挙体を使用することで、ソート順序を昇順や降順として指定できます。

コードのコピー
// AutoFilterによるソート。
GcSpreadSheet.Workbook.Worksheets[0].Range("B2").Value = "Banana";
GcSpreadSheet.Workbook.Worksheets[0].Range("B3").Value = "Banana";
GcSpreadSheet.Workbook.Worksheets[0].Range("B4").Value = "Apple";
GcSpreadSheet.Workbook.Worksheets[0].Range("B5").Value = "Orange";
GcSpreadSheet.Workbook.Worksheets[0].Range("B6").Value = "Banana";
GcSpreadSheet.Workbook.Worksheets[0].Range("B7").Value = "Orange";
GcSpreadSheet.Workbook.Worksheets[0].Range("B8").Value = "Apple";
GcSpreadSheet.Workbook.Worksheets[0].Range("B9").Value = "Banana";
GcSpreadSheet.Workbook.Worksheets[0].Range("C2").Value = "Banana";
GcSpreadSheet.Workbook.Worksheets[0].Range("C3").Value = "Orange";
GcSpreadSheet.Workbook.Worksheets[0].Range("C4").Value = "Apple";
GcSpreadSheet.Workbook.Worksheets[0].Range("C5").Value = "Banana";
GcSpreadSheet.Workbook.Worksheets[0].Range("C6").Value = "Orange";
GcSpreadSheet.Workbook.Worksheets[0].Range("C7").Value = "Orange";
GcSpreadSheet.Workbook.Worksheets[0].Range("C8").Value = "Apple";
GcSpreadSheet.Workbook.Worksheets[0].Range("C9").Value = "Banana";
GcSpreadSheet.Workbook.Worksheets[0].Range("D2").Value = "Apple";
GcSpreadSheet.Workbook.Worksheets[0].Range("D3").Value = "Banana";
GcSpreadSheet.Workbook.Worksheets[0].Range("D4").Value = "Orange";
GcSpreadSheet.Workbook.Worksheets[0].Range("D5").Value = "Apple";
GcSpreadSheet.Workbook.Worksheets[0].Range("D6").Value = "Banana";
GcSpreadSheet.Workbook.Worksheets[0].Range("D7").Value = "Orange";
GcSpreadSheet.Workbook.Worksheets[0].Range("D8").Value = "Apple";
GcSpreadSheet.Workbook.Worksheets[0].Range("D9").Value = "Banana";
GcSpreadSheet.Workbook.Worksheets[0].Name = " AutoFilterによるソートr";

// この場合、「Banana」と「Apple」の値を含む範囲をフィルタリングしています。 
// フィルタリング後のデータが昇順に並べ替えられます。
GcSpreadSheet.Workbook.Worksheets[0].Range("B1:D10").AutoFilter(0, "Banana", GrapeCity.Spreadsheet.AutoFilterOperator.Or, "Apple");
GcSpreadSheet.Workbook.Worksheets[0].AutoFilter.Sort.SortFields.Add("B1", GrapeCity.Spreadsheet.SortOn.Value, SortOrder.Ascending);
GcSpreadSheet.Workbook.Worksheets[0].AutoFilter.Sort.Apply();            
コードのコピー
' AutoFilterによるソート。
GcSpreadSheet.Workbook.Worksheets(0).Range("B2").Value = "Banana"
GcSpreadSheet.Workbook.Worksheets(0).Range("B3").Value = "Banana"
GcSpreadSheet.Workbook.Worksheets(0).Range("B4").Value = "Apple"
GcSpreadSheet.Workbook.Worksheets(0).Range("B5").Value = "Orange"
GcSpreadSheet.Workbook.Worksheets(0).Range("B6").Value = "Banana"
GcSpreadSheet.Workbook.Worksheets(0).Range("B7").Value = "Orange"
GcSpreadSheet.Workbook.Worksheets(0).Range("B8").Value = "Apple"
GcSpreadSheet.Workbook.Worksheets(0).Range("B9").Value = "Banana"
GcSpreadSheet.Workbook.Worksheets(0).Range("C2").Value = "Banana"
GcSpreadSheet.Workbook.Worksheets(0).Range("C3").Value = "Orange"
GcSpreadSheet.Workbook.Worksheets(0).Range("C4").Value = "Apple"
GcSpreadSheet.Workbook.Worksheets(0).Range("C5").Value = "Banana"
GcSpreadSheet.Workbook.Worksheets(0).Range("C6").Value = "Orange"
GcSpreadSheet.Workbook.Worksheets(0).Range("C7").Value = "Orange"
GcSpreadSheet.Workbook.Worksheets(0).Range("C8").Value = "Apple"
GcSpreadSheet.Workbook.Worksheets(0).Range("C9").Value = "Banana"
GcSpreadSheet.Workbook.Worksheets(0).Range("D2").Value = "Apple"
GcSpreadSheet.Workbook.Worksheets(0).Range("D3").Value = "Banana"
GcSpreadSheet.Workbook.Worksheets(0).Range("D4").Value = "Orange"
GcSpreadSheet.Workbook.Worksheets(0).Range("D5").Value = "Apple"
GcSpreadSheet.Workbook.Worksheets(0).Range("D6").Value = "Banana"
GcSpreadSheet.Workbook.Worksheets(0).Range("D7").Value = "Orange"
GcSpreadSheet.Workbook.Worksheets(0).Range("D8").Value = "Apple"
GcSpreadSheet.Workbook.Worksheets(0).Range("D9").Value = "Banana"
GcSpreadSheet.Workbook.Worksheets(0).Name = " AutoFilterによるソート"

' この場合、「Banana」と「Apple」の値を含む範囲をフィルタリングしています。
' フィルタリング後のデータが昇順に並べ替えられます。
GcSpreadSheet.Workbook.Worksheets(0).Range("B1:D10").AutoFilter(0, "Banana", GrapeCity.Spreadsheet.AutoFilterOperator.Or, "Apple")
GcSpreadSheet.Workbook.Worksheets(0).AutoFilter.Sort.SortFields.Add("B1", GrapeCity.Spreadsheet.SortOn.Value, SortOrder.Ascending)
GcSpreadSheet.Workbook.Worksheets(0).AutoFilter.Sort.Apply()