小計関数を適用し、結果のデータを降順で並べ替えたいデータがあります。これまでのところ、コードで小計関数を適用し、ビューを変更して、並べ替えたい列のみが表示されるようにすることができました。この時点で .Sort メソッドを使用して、表示されているデータのみを並べ替える方法がわかりません。
小計を実装するための私のコード:
xcel.Range range = excelWorksheet.UsedRange;
range.Subtotal(1, Excel.XlConsolidationFunction.xlSum, Type.Missing, (object)true, (object)false, Excel.XlSummaryRow.xlSummaryBelow);
ビューを並べ替えたい列だけに変更する私のコード:
excelWorksheet.Outline.ShowLevels(2, Type.Missing);
この時点で、考えられるほぼすべての範囲を使用して、.Sort メソッドのさまざまなバリエーションを試しました (可視範囲、必要な列を明示的に指定する、ワークシート全体、小計フィルターの前に使用される範囲、使用される範囲小計フィルターの後)。また、Excel 内にマクロを記録しようとしましたが、それを C# に変換する方法がわかりません。
私が必要とすることを正確に行うExcelマクロは次のとおりです。
Range("G3").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("G3"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A2:G2853")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
小計のグループ化が適用された後にデータを並べ替える方法を知っている人はいますか?