MESCIUS SPREAD for Windows Forms 17.0J サンプルコード集
異なるシート間の参照を可能にする

FpSpreadクラスのEnableCrossSheetReferenceプロパティをTrueにすることで、異なるシート間での相互参照が可能になります。(デフォルトはTrueです)

【実行例】 シート1

異なるシート参照

シート2 (B2に数式を設定)

異なるシート参照

  • 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.Sheets.Count = 2;

   //相互シート参照を有効にします
   fpSpread1.EnableCrossSheetReference = true;

   fpSpread1.Sheets[0].DefaultStyle.CellType = new FarPoint.Win.Spread.CellType.NumberCellType();
   fpSpread1.Sheets[0].SetValue(0, 0, 1000);
   fpSpread1.Sheets[0].SetValue(1, 0, 2000);
   fpSpread1.Sheets[0].SetValue(2, 0, 3000);
   fpSpread1.Sheets[0].SetValue(3, 0, 4000);
   fpSpread1.Sheets[0].Cells[0, 0, 3, 0].BackColor = Color.LightPink;

   fpSpread1.Sheets[1].DefaultStyle.CellType = new FarPoint.Win.Spread.CellType.NumberCellType();
   fpSpread1.Sheets[1].SetValue(0, 0, 5000);
   fpSpread1.Sheets[1].Cells[0, 0].BackColor = Color.LightCyan;

   //「シート1:セル(0,0)〜(3,0)の合計」と「シート2:セル(0,0)」との合計式を設定します
   fpSpread1.Sheets[1].SetFormula(1, 1, "SUM(Sheet1!A1:A4) + Sheet2!A1");
   fpSpread1.Sheets[1].Cells[1, 1].BackColor = Color.LemonChiffon;

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

   FpSpread1.Sheets.Count = 2

   '相互シート参照を有効にします
   FpSpread1.EnableCrossSheetReference = True

   FpSpread1.Sheets(0).DefaultStyle.CellType = New FarPoint.Win.Spread.CellType.NumberCellType
   FpSpread1.Sheets(0).SetValue(0, 0, 1000)
   FpSpread1.Sheets(0).SetValue(1, 0, 2000)
   FpSpread1.Sheets(0).SetValue(2, 0, 3000)
   FpSpread1.Sheets(0).SetValue(3, 0, 4000)
   FpSpread1.Sheets(0).Cells(0, 0, 3, 0).BackColor = Color.LightPink

   FpSpread1.Sheets(1).DefaultStyle.CellType = New FarPoint.Win.Spread.CellType.NumberCellType
   FpSpread1.Sheets(1).SetValue(0, 0, 5000)
   FpSpread1.Sheets(1).Cells(0, 0).BackColor = Color.LightCyan

   '「シート1:セル(0,0)〜(3,0)の合計」と「シート2:セル(0,0)」との合計式を設定します
   FpSpread1.Sheets(1).SetFormula(1, 1, "SUM(Sheet1!A1:A4) + Sheet2!A1")
   FpSpread1.Sheets(1).Cells(1, 1).BackColor = Color.LemonChiffon

 End Sub

 

 


© MESCIUS inc. All rights reserved.