任何答复都会非常感激。 我的问题如下:
这是确定我的Excel工作表的最后一个非空单元格/行的正确方法吗?
xl.Worksheet sh;
int lastRow;
int fullRow;
sh = xlApp.Workbooks.get_Item("myExcelFile").Worksheets.get_Item("MySheet");
fullRow = sh.Rows.Count;
lastRow = sh.Cells[fullRow, 1].End(xl.XlDirection.xlUp).Row;
如果这确实是正确的,我如何取出行并将其复制到另一个工作表中。更具体地说,A列的第一个空单元格。 我知道我必须使用类似这样的命令:
lastRow.EntireRow.Copy(FirstEmptyCell);
作为int类型我无法将其复制到我的其他工作表。 有什么建议吗?
答案 0 :(得分:0)
lastRow = sh.Cells[fullRow, 1].End(xl.XlDirection.xlUp).Row;
此处,lastRow
是int
,因此您不能将其用作下一行的对象:
lastRow.EntireRow.Copy(FirstEmptyCell); // int doesn't have an EntireRow property
可以做的是将两者合并为一行:
Excel.Range myLastRow;
myLastRow = sh.Cells[sh.Rows.Count, 1].End(xl.xlDirection.Up).EntireRow;
现在myLastRow
是您要复制的整行。
myLastRow.Copy(destination);