やあ私は次のように、その式配列をExcel2007の範囲を与えるac#プログラムを持っています
Excel.Worksheet ws_res = (Excel.Worksheet)
wb.Worksheets.Add(mis, mis, mis, mis);
Excel.Range range_res = (Excel.Range)ws_res.get_Range("A1","HM232");
range_res.FormulaArray = "=(IF((IF(Sheet4!A1:HM232=1,0,"+
"IF(Sheet4!A1:HM232=0,1,Sheet4!A1:HM232)))=1,0,"+
"IF((IF(Sheet4!A1:HM232=1,0,"+
"IF(Sheet4!A1:HM232=0,1,Sheet4!A1:HM232)))=0,1,("+
"IF(Sheet4!A1:HM232=1,0,"+
"IF(Sheet4!A1:HM232=0,1,Sheet4!A1:HM232))))))";
数式が間違っているという例外が表示されます...しかし、Excel-2007を開いて新しいシート(シート5としましょう)で範囲A1:HM232を選択し、上記の数式を数式バーに直接貼り付けてからCtrlを押します+Shift+Enter を一緒に押すと、すべて問題なく動作します... c# で同じことを行う方法を教えていただけますか?
FormulaArray を使用して R1C1 スタイルを使用する場合は認識していますが、
"=ROUND((IF(Sheet4!A1:HM232=1,0,"+
"IF(Sheet4!A1:HM232=0,1,Sheet4!A1:HM232))),0)"
それは私に例外を与えず、C#とExcelの両方から直接Ctrl + Shift + Enterをしたかのように実行します
上記の 2 つの式について、A1:HM232 を R1C1:R232C221 に変更しました。短い方は c# から正常に動作しますが、長い方は動作しません!