作成日: 2022/10/18 最終更新日: 2022/10/18
文書種別
技術情報
詳細
セル範囲のフィルタはIRangeインターフェースのAutoFilterメソッドで設定しますが、フィルタ条件を指定してのフィルタリングもAutoFilterメソッドで実行することが出来ます。
指定可能なフィルタ条件は製品ヘルプ(AutoFilter メソッド)でご確認ください。
コーディングによりフィルタ条件を指定する例をButton1_ClickイベントとButton2_Clickイベントで紹介します。
Button1_Click:1列目に対して「0,1,空白」でフィルタリング
Button2_Click:2列目に対して日付フィルタで「2022/04/01~2023/03/31」の範囲フィルタリング
Button3_Click:フィルタの解除・設定※
※フィルタが設定されていない状態で引数を設定せずにAutoFilterメソッドを実行するとフィルタが設定され、フィルタが設定されている状態でAutoFilterメソッドを実行するとフィルタが解除されます。
◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' フィルタの設定
FpSpread1.AsWorkbook().ActiveSheet.Cells("A1:B20").AutoFilter()
' データの設定
Dim baseDate As New DateTime(2022, 1, 1)
For i = 1 To 15
FpSpread1.ActiveSheet.SetValue(i, 0, i Mod 3)
FpSpread1.ActiveSheet.SetValue(i, 1, baseDate.AddMonths(i - 1))
Next
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' [0],[1],[空白]を表示する
FpSpread1.AsWorkbook().ActiveSheet.Cells("A1:B20").AutoFilter(0, criteria1:=New String() {"0", "1"}, filterOperator:=GrapeCity.Spreadsheet.AutoFilterOperator.FilterValues, criteria2:=New String() {""})
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
' 2022/04/01から2023/03/31の日付範囲を表示する
FpSpread1.ActiveSheet.AsWorksheet().Cells("A1:B20").AutoFilter(1, criteria1:=">=2022/04/01", filterOperator:=GrapeCity.Spreadsheet.AutoFilterOperator.And, criteria2:="<=2023/03/31")
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
' フィルタの解除・設定する
FpSpread1.AsWorkbook().ActiveSheet.Cells("A1:B20").AutoFilter()
End Sub
◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
// フィルタの設定
fpSpread1.AsWorkbook().ActiveSheet.Cells["A1:B20"].AutoFilter();
// データの設定
var baseDate = new DateTime(2022, 1, 1);
for (var i = 1; i <= 15; i++)
{
fpSpread1.ActiveSheet.SetValue(i, 0, i % 3);
fpSpread1.ActiveSheet.SetValue(i, 1, baseDate.AddMonths(i - 1));
}
}
private void button1_Click(object sender, EventArgs e)
{
// [0],[1],[空白]を表示する
fpSpread1.AsWorkbook().ActiveSheet.Cells["A1:B20"].AutoFilter(0, criteria1: new string[] { "0", "1" }, filterOperator: GrapeCity.Spreadsheet.AutoFilterOperator.FilterValues, criteria2: new string[] { "" });
}
private void button2_Click(object sender, EventArgs e)
{
// 2022/04/01から2023/03/31の日付範囲を表示する
fpSpread1.ActiveSheet.AsWorksheet().Cells["A1:B20"].AutoFilter(1, criteria1: ">=2022/04/01", filterOperator: GrapeCity.Spreadsheet.AutoFilterOperator.And, criteria2: "<=2023/03/31");
}
private void button3_Click(object sender, EventArgs e)
{
// フィルタの解除・設定する
fpSpread1.AsWorkbook().ActiveSheet.Cells["A1:B20"].AutoFilter();
}
<実行イメージ>