Ich habe diese Syntax, die keinen Fehler wirft, und scheint, als ob es der richtige Code ist. Die Gesamtzeilen werden jedoch nicht hinzugefügt. Was ist falsch in meiner Syntax?C# Hinzufügen der gesamten Zeile zur letzten Zeile des Excel-Arbeitsblatts
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
ich auch versucht, die unten Special Cells
Syntax und gleiches Ergebnis, keinen Fehler, aber insgesamt Zeile nicht
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();
Vielen Dank für diese Stichprobe, ich habe meinen Beitrag bearbeitet, um zu zeigen, wie ich dies zu erreichen versuchte, aber hatte das gleiche Ergebnis. No Total Row hinzugefügt, aber Code läuft fehlerfrei. –
Ich habe den Code modifiziert und versuche 'MyLine.Insert();' zu verwenden. Was ist das Ergebnis? – Essigwurst
Der aktualisierte Code fügt eine neue Zeile zwischen den letzten zwei Datenzeilen ein. Es wird immer noch keine Gesamtzeile hinzugefügt. –