在 Excel VBA 中(或者如果你可以在 C# 中,我正在使用来自 .NET 的 Excels 对象库),如何将工作表从一个工作簿复制到另一个工作簿中的另一个工作表。基本上,我正在做的是将我的每张工作表复制到另一个工作簿的中央工作表中,然后将在那里完成我需要做的所有事情。我尝试使用 Range.Copy 方法,我将 Destination 参数作为另一个工作簿的范围。它工作得很好,但是有一个问题,那就是每次我复制它都会替换该工作表中的旧数据。我该如何做这样的事情,这样当我将它粘贴到工作表的末尾时。
编辑:我搜索并找到了一种方法,但是现在当我复制单元格时,我得到一个 COM 异常,并显示消息“要将 Excel 工作表中的所有单元格粘贴到当前工作表中,您必须粘贴到第一个单元格(A1 或 R1C1) 。”
以下是代码,它在 C# 中
logWorksheet = logWorkbook.ActiveSheet as Excel.Worksheet;
Excel.Range tempRange = logWorksheet.Cells[logWorksheet.Rows.Count, "A"] as Excel.Range;
tempRange = tempRange.get_End(Excel.XlDirection.xlUp);
int emptyRow;
if (tempRange.Row > 1)
emptyRow = tempRange.Row + 1;
else
emptyRow = tempRange.Row;
string copyLocationAddress = Convert.ToString(emptyRow);
Excel.Range copyLocation = logWorksheet.get_Range(
"A" + copyLocationAddress, Type.Missing) as Excel.Range;
// copy whole workbook to the central workbook
tempLogSheet.Cells.Copy(copyLocation);