MESCIUS SPREAD for Windows Forms 17.0J > 開発者ガイド > 行と列 > データを保持する行と列 |
シートで、データを含む最後の行インデックスおよび列インデックスを取得するには、以下のメソッドを使用します。
シートで、データを含む行数および列数を取得するには、以下のプロパティを使用します。
シートで、指定範囲内の最後の行インデックスと最後の列インデックスを返すには、IRange.End メソッドを使用します。このメソッドは、 方向を指定するdirection 列挙型と、非表示の行と列を含めるかどうかを指定する includeHidden パラメートの 2 つのパラメータを受け入れます。
次のサンプルコードは、指定されたソース範囲の左方向の最後のセルを返します。
C# |
コードのコピー
|
---|---|
// IRange.End(Direction.Left) IWorksheet TestActiveSheet = fpSpread1.AsWorkbook().ActiveSheet; TestActiveSheet.Cells["A1"].Value = 1; TestActiveSheet.Cells["C1:F1"].Value = 1; TestActiveSheet.Columns[1].Hidden = true; TestActiveSheet.Columns[5].Hidden = true; // ソース範囲の左側にデータがありません Debug.WriteLine(TestActiveSheet.Cells["B5"].End(Direction.Left, false).Address()); //または、A5を返します // データ範囲内のソース範囲 Debug.WriteLine(TestActiveSheet.Cells["D1"].End(Direction.Left, false).Address()); //A1を返します Debug.WriteLine(TestActiveSheet.Cells["D1"].End(Direction.Left, true).Address()); //C1を返します // ソース範囲の左側にデータがあります Debug.WriteLine(TestActiveSheet.Cells["I1"].End(Direction.Left, false).Address()); //E1を返します Debug.WriteLine(TestActiveSheet.Cells["I1"].End(Direction.Left, true).Address()); //F1を返します |
Visual Basic |
コードのコピー
|
---|---|
' IRange.End(Direction.Left) Dim TestActiveSheet As IWorksheet = fpSpread1.AsWorkbook().ActiveSheet TestActiveSheet.Cells("A1").Value = 1 TestActiveSheet.Cells("C1:F1").Value = 1 TestActiveSheet.Columns(1).Hidden = True TestActiveSheet.Columns(5).Hidden = True ' ソース範囲の左側にデータがありません Debug.WriteLine(TestActiveSheet.Cells("B5").End(Direction.Left, False).Address()) 'または、A5を返します ' データ範囲内のソース範囲 Debug.WriteLine(TestActiveSheet.Cells("D1").End(Direction.Left, False).Address()) 'A1を返します Debug.WriteLine(TestActiveSheet.Cells("D1").End(Direction.Left, True).Address()) 'C1を返します ' ソース範囲の左側にデータがあります Debug.WriteLine(TestActiveSheet.Cells("I1").End(Direction.Left, False).Address()) 'E1を返します Debug.WriteLine(TestActiveSheet.Cells("I1").End(Direction.Left, True).Address()) 'F1を返します |
次のサンプルコードは、指定されたソース範囲の右方向の最後のセルを返します。
C# |
コードのコピー
|
---|---|
// IRange.End(Direction.Right) IWorksheet TestActiveSheet = TestWorkBook.ActiveSheet; TestActiveSheet.Cells["C1:F1"].Value = 1; TestActiveSheet.Cells["H1"].Value = 1; TestActiveSheet.Columns[2].Hidden = true; TestActiveSheet.Columns[6].Hidden = true; // ソース範囲の右側にデータがありません Debug.WriteLine(TestActiveSheet.Cells["B5"].End(Direction.Right, false).Address()); //または、SF5を返します // データ範囲内のソース範囲 Debug.WriteLine(TestActiveSheet.Cells["D1"].End(Direction.Right, false).Address()); //H1を返します Debug.WriteLine(TestActiveSheet.Cells["D1"].End(Direction.Right, true).Address()); //F1を返します //ソース範囲の上側にデータがあります Debug.WriteLine(TestActiveSheet.Cells["A1"].End(Direction.Right, false).Address()); //D1を返します Debug.WriteLine(TestActiveSheet.Cells["A1"].End(Direction.Right, true).Address()); //C1を返します |
Visual Basic |
コードのコピー
|
---|---|
' IRange.End(Direction.Right) Dim TestActiveSheet As IWorksheet = TestWorkBook.ActiveSheet TestActiveSheet.Cells("C1:F1").Value = 1 TestActiveSheet.Cells("H1").Value = 1 TestActiveSheet.Columns(2).Hidden = True TestActiveSheet.Columns(6).Hidden = True ' ソース範囲の右側にデータがありません Debug.WriteLine(TestActiveSheet.Cells("B5").End(Direction.Right, False).Address()) 'または、SF5を返します ' データ範囲内のソース範囲 Debug.WriteLine(TestActiveSheet.Cells("D1").End(Direction.Right, False).Address()) 'H1を返します Debug.WriteLine(TestActiveSheet.Cells("D1").End(Direction.Right, True).Address()) 'F1を返します ' ソース範囲の上側にデータがあります Debug.WriteLine(TestActiveSheet.Cells("A1").End(Direction.Right, False).Address()) 'D1を返します Debug.WriteLine(TestActiveSheet.Cells("A1").End(Direction.Right, True).Address()) 'C1を返します |
次のサンプルコードは、指定されたソース範囲の上方向の最後のセルを返します。
C# |
コードのコピー
|
---|---|
// IRange.End(Direction.Up) IWorksheet TestActiveSheet = fpSpread1.AsWorkbook().ActiveSheet; TestActiveSheet.Cells["C1"].Value = 1; TestActiveSheet.Cells["C3:C6"].Value = 1; TestActiveSheet.Rows[1].Hidden = true; TestActiveSheet.Rows[5].Hidden = true; // ソース範囲の上側にデータがありません Debug.WriteLine(TestActiveSheet.Cells["B5"].End(Direction.Up, false).Address()); //または、B1を返します // データ範囲内のソース範囲 Debug.WriteLine(TestActiveSheet.Cells["C4"].End(Direction.Up, false).Address()); //C1を返します Debug.WriteLine(TestActiveSheet.Cells["C4"].End(Direction.Up, true).Address()); //C3を返します // ソース範囲の上側にデータがあります Debug.WriteLine(TestActiveSheet.Cells["C10"].End(Direction.Up, false).Address()); //C5を返します Debug.WriteLine(TestActiveSheet.Cells["C10"].End(Direction.Up, true).Address()); //C6を返します |
Visual Basic |
コードのコピー
|
---|---|
' IRange.End(Direction.Up) Dim TestActiveSheet As IWorksheet = fpSpread1.AsWorkbook().ActiveSheet TestActiveSheet.Cells("C1").Value = 1 TestActiveSheet.Cells("C3:C6").Value = 1 TestActiveSheet.Rows(1).Hidden = True TestActiveSheet.Rows(5).Hidden = True ' ソース範囲の上側にデータがありません Debug.WriteLine(TestActiveSheet.Cells("B5").End(Direction.Up, False).Address()) 'または、B1を返します ' データ範囲内のソース範囲 Debug.WriteLine(TestActiveSheet.Cells("C4").End(Direction.Up, False).Address()) 'C1を返します Debug.WriteLine(TestActiveSheet.Cells("C4").End(Direction.Up, True).Address()) 'C3を返します ' ソース範囲の上側にデータがあります Debug.WriteLine(TestActiveSheet.Cells("C10").End(Direction.Up, False).Address()) 'C5を返します Debug.WriteLine(TestActiveSheet.Cells("C10").End(Direction.Up, True).Address()) 'C6を返します |
次のサンプルコードは、指定されたソース範囲の下方向の最後のセルを返します。
C# |
コードのコピー
|
---|---|
// IRange.End(Direction.Down) IWorksheet TestActiveSheet = TestWorkBook.ActiveSheet; TestActiveSheet.Cells["C3:C6"].Value = 1; TestActiveSheet.Cells["C8"].Value = 1; TestActiveSheet.Rows[2].Hidden = true; TestActiveSheet.Rows[6].Hidden = true; // ソース範囲の下側にデータがありません Debug.WriteLine(TestActiveSheet.Cells["B5"].End(Direction.Down, false).Address()); //または、B500を返します // データ範囲内のソース範囲 Debug.WriteLine(TestActiveSheet.Cells["C4"].End(Direction.Down, false).Address()); //C8を返します Debug.WriteLine(TestActiveSheet.Cells["C4"].End(Direction.Down, true).Address()); //C6を返します // ソース範囲の下側にデータがあります Debug.WriteLine(TestActiveSheet.Cells["C1"].End(Direction.Down, false).Address()); //C4を返します Debug.WriteLine(TestActiveSheet.Cells["C1"].End(Direction.Down, true).Address()); //C3を返します |
Visual Basic |
コードのコピー
|
---|---|
' IRange.End(Direction.Down) Dim TestActiveSheet As IWorksheet = TestWorkBook.ActiveSheet TestActiveSheet.Cells("C3:C6").Value = 1 TestActiveSheet.Cells("C8").Value = 1 TestActiveSheet.Rows(2).Hidden = True TestActiveSheet.Rows(6).Hidden = True ' ソース範囲の下側にデータがありません Debug.WriteLine(TestActiveSheet.Cells("B5").End(Direction.Down, False).Address()) 'または、B500を返します ' データ範囲内のソース範囲 Debug.WriteLine(TestActiveSheet.Cells("C4").End(Direction.Down, False).Address()) 'C8を返します Debug.WriteLine(TestActiveSheet.Cells("C4").End(Direction.Down, True).Address()) 'C6を返します ' ソース範囲の下側にデータがあります Debug.WriteLine(TestActiveSheet.Cells("C1").End(Direction.Down, False).Address()) 'C4を返します Debug.WriteLine(TestActiveSheet.Cells("C1").End(Direction.Down, True).Address()) 'C3を返します |
IRange.Endメソッドは、ソース範囲内の最初のセルを返します。 |