我在Excel工作表中复制和插入行,如下所示:
while (rowsToAdd > 0)
{
// copy the existing row
insertionCell.EntireRow.Copy(Type.Missing);
// location of the new row
Range newRow = insertionCell.EntireRow.get_Offset(1, 0).EntireRow;
// insert the new row
newRow.Insert(XlInsertShiftDirection.xlShiftDown, Type.Missing);
rowsToAdd--;
}
我遇到的问题是,有时候,我在最初复制的行周围留下了一个选择框。
有没有办法可以取消选择框(你通常用Escape键做的方式?)
答案 0 :(得分:3)
在VBA中,Application.CutCopyMode = False
答案 1 :(得分:2)
添加
myExcelApplication.CutCopyMode = XlCutCopyMode.xlCopy;
似乎可以解决这个问题,虽然documentation并没有很好地解释它,但似乎是错误的,因为提到了bools。
答案 2 :(得分:0)
我知道它已经很老了,但是因为我有一些问题将一行复制到另一行,并且因为我在我的案例中得到了正确的解决方案,我现在很高兴分享它,以防它可以解决你的问题(考虑复制行而不是插入一行。
以下是解决方案:
Microsoft.Office.Interop.Excel.Range xlSourceRow;
Microsoft.Office.Interop.Excel.Range xlNewRow;
xlSourceRow.Copy(xlNewRow);
使用此解决方案可防止在MS-Excel文件中进行任何选择。