この構文は、エラーを投げず、正しいコードのようです。ただし、合計行は加算されません。私の構文で何が間違っていますか?C#Excelワークシートの最後の行に合計行を追加する
if (xlApp.WorksheetFunction.CountA(WS.Cells) != 0)
{
lastRow = WS.Cells.Find("*", WS.Range["A1"], Excel.XlFindLookIn.xlFormulas, Excel.XlLookAt.xlPart, Excel.XlSearchOrder.xlByRows, Excel.XlSearchDirection.xlPrevious, false).Row;
}
else { lastRow = 1; }
WS.Range["C" + lastRow + 1].FormulaR1C1 = "=SUM(R[-" + lastRow + "]C:R[-1]C)";
WS.Range["C" + (lastRow + 1) + ":N" + (lastRow + 1)].FillRight();
WS.Range["N" + lastRow + 1].FillRight();
EDIT Iはまた、以下Special Cells
構文、及び同様の結果、エラーなしが、合計行を使用してみました が
Excel.Range MyLast = WS.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing);
Excel.Range MyRange = WS.get_Range("A1", MyLast);
int MyLastRow = MyLast.Row;
int MyLastColumn = MyLast.Column;
WS.Range["A" + MyLastRow + 1].FormulaR1C1 = "Totals:";
WS.Range["C" + MyLastRow + 1].FormulaR1C1 = "=SUM(R[-" + lastRow + "]C:R[-1]C)";
WS.Range["C" + (MyLastRow + 1) + ":N" + (lastRow + 1)].FillRight();
WS.Range["N" + MyLastRow + 1].FillRight();
このサンプルをありがとう、私はこれを達成しようとした方法を示すために投稿を編集しましたが、同じ結果がありました。合計行は追加されませんが、コードはエラーフリーです。 –
私はコードを修正し、 'MyLine.Insert();'を使って試してみてください。結果は何ですか? – Essigwurst
更新されたコードは、最後の2行のデータの間に新しい行を挿入します。まだ合計行が追加されていません。 –