在Excel VBA中(或者如果您可以在C#中使用.NET的Excels對象庫),如何將工作表從一個工作簿複製到另一個工作簿中的另一個工作表。基本上,我正在做的是將我的每張表格複製到另一個工作簿中的中央工作表中,然後完成我需要在其中完成的所有工作。我嘗試使用Range.Copy方法,我給目標參數作爲其他工作簿的範圍。它工作的很完美,但有一個問題,那就是每次我複製它時都會替換該工作表中的舊數據。我該如何做這樣的事情,以便當我將它粘貼到工作表的最後。Excel複製工作表
編輯:我搜索,找到了一種方法,但現在當我複製單元格我得到一個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);
工作表具有有限的尺寸,因此,如果您要複製工作表全,沒有餘地將多於一個「附加」到單個工作表中。 – wakingrufus 2009-10-21 10:16:01