Excel は、 で始まる値を に自動変換=
します.formulas
。FormulaArray
配列数式を保存するには、範囲のプロパティに直接書き込む必要があります。
詳細:
通常の数式を使用している場合、VBA には 2 つのオプションがあります。次のように、セルの値または数式のプロパティを設定できます。
Range("A3").value = "=Sum(A1:A2)"
Range("A3").Formula= "=Sum(A1:A2)"
配列数式を使用する場合、これらのアプローチのいずれも使用できません。セルの別の領域に格納する必要があります。
Range("A3").FormulaArray = "=Sum(A1:A2)"
Ctrlユーザーが++を押すShiftと、セルの をEnterに送信するように Excel に指示しています。セルのセクション。.value
FormulaArray
それ以外の場合、デフォルトでは、Excel が=
記号を認識したとき.value
に、.formula
とにかく、VBA であっても、これはすべて Excel オブジェクト モデルに関連しています。
その詳細に入ったので、matlab のxlswrite
関数はセルの値にのみ書き込み、このサブプロパティに書き込むことはできないと思います。間違っている可能性があります。
これはMATLABで動作する可能性があります(テストされていません)
mlrange='A3'; % or similar
Excel = actxserver ('Excel.Application');
Excel.Workbooks.Open(filename);
TargetSheet = get(Excel.sheets,'item','A');
TargetSheet.Activate
ran = Excel.Activesheet.get('Range',mlrange);
ran.FormulaArray = '=Sum(A1:A2)'