MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集
セルに数式を設定する

シート上のセル/行/列に対して数式を設定することができます。 また数式には値/演算子/関数だけでなく、他のセル内の値に対する参照を使用することも可能です。以下のサンプルでは1列目の各セルに値を設定し、2列目の各セルに数式を設定しています。

【実行例】

数式設定

  • SPREAD for Windows Formsにおける各コレクションインデックスの下限は必ず「0」から始まりますが、数式の作成では「1」から始まる参照番号を使用します。つまり、先頭の列および行を表す番号は「0」ではなく常に「1」となります。 (例:Cells(0,0) ⇒ "A1")
  • ActiveX版で使用された「A#+B#」のような数式はサポートされません。

    SPREAD for Windows Formsでは、例えばA列とB列の値を加算してC列に設定する場合は、相対セル参照をRC[-2]+RC[-1]のようにします。 現在の位置(C列内)と演算対象のセルの相対位置を指定することで、ActiveX版のワイルドカードと同様の操作を行うことができます。

     FpSpread1.Sheets(0).ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1
           FpSpread1.Sheets(0).Columns(2).Formula = "SUM(RC[-2]:RC[-1])"
    

 private void Form1_Load(object sender, System.EventArgs e)
 {

   fpSpread1.ActiveSheet.RowCount = 5;
   fpSpread1.ActiveSheet.ColumnCount = 2;

   fpSpread1.ActiveSheet.Columns[0,1].CellType = new FarPoint.Win.Spread.CellType.NumberCellType();
   fpSpread1.ActiveSheet.Columns[1].BackColor = Color.LightYellow;
   fpSpread1.ActiveSheet.Columns[1].Width = 120;

   fpSpread1.ActiveSheet.SetValue(0, 0, 10);
   fpSpread1.ActiveSheet.SetValue(1, 0, 20);
   fpSpread1.ActiveSheet.SetValue(2, 0, 30);
   fpSpread1.ActiveSheet.SetValue(3, 0, 40);
   fpSpread1.ActiveSheet.SetValue(4, 0, 50);

   //SUM関数(すべての引数値の和)を設定します
   fpSpread1.ActiveSheet.SetFormula(0, 1, "SUM(A1:A5)");

   //PRODUCT関数(すべての引数値の積)を設定します
   fpSpread1.ActiveSheet.SetFormula(1, 1, "PRODUCT(A1:A5)");

   //AVERAGE関数(すべての引数値の平均)を設定します
   fpSpread1.ActiveSheet.SetFormula(2, 1, "AVERAGE(A1:A5)");

   //セル(0,0)とセル(4,0)の和を設定します
   fpSpread1.ActiveSheet.SetFormula(3, 1, "A1 + A5");

   //セル(0,0)の値が10より大きければ2を乗算し、そうでない場合は3を乗算します
   fpSpread1.ActiveSheet.SetFormula(4, 1, "IF(A1>10, A1*2, A1*3)");

 }
 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

   FpSpread1.ActiveSheet.RowCount = 5
   FpSpread1.ActiveSheet.ColumnCount = 2
   FpSpread1.ActiveSheet.Columns(0, 1).CellType = New FarPoint.Win.Spread.CellType.NumberCellType
   FpSpread1.ActiveSheet.Columns(1).BackColor = Color.LightYellow
   FpSpread1.ActiveSheet.Columns(1).Width = 120

   FpSpread1.ActiveSheet.SetValue(0, 0, 10)
   FpSpread1.ActiveSheet.SetValue(1, 0, 20)
   FpSpread1.ActiveSheet.SetValue(2, 0, 30)
   FpSpread1.ActiveSheet.SetValue(3, 0, 40)
   FpSpread1.ActiveSheet.SetValue(4, 0, 50)

   'SUM関数(すべての引数値の和)を設定します
   FpSpread1.ActiveSheet.SetFormula(0, 1, "SUM(A1:A5)")

   'PRODUCT関数(すべての引数値の積)を設定します
   FpSpread1.ActiveSheet.SetFormula(1, 1, "PRODUCT(A1:A5)")

   'AVERAGE関数(すべての引数値の平均)を設定します
   FpSpread1.ActiveSheet.SetFormula(2, 1, "AVERAGE(A1:A5)")

   'セル(0,0)とセル(4,0)の和を設定します
   FpSpread1.ActiveSheet.SetFormula(3, 1, "A1 + A5")

   'セル(0,0)の値が10より大きければ2を乗算し、そうでない場合は3を乗算します
   FpSpread1.ActiveSheet.SetFormula(4, 1, "IF(A1>10, A1*2, A1*3)")

 End Sub

 

 


© MESCIUS inc. All rights reserved.