В Excel VBA (или если вы можете использовать C#, я использую библиотеку объектов Excels от .NET), как скопировать лист из одной книги на другой лист в другую книгу. В основном, то, что я делаю, копирует каждый мой лист в центральный рабочий лист в другой книге, а затем сделает все, что мне нужно сделать. Я попытался использовать метод Range.Copy, я дал параметр Destination в качестве диапазона другой книги. Он работал отлично, но есть одна проблема: каждый раз, когда я копирую, он заменяет старые данные на этом листе. Как мне сделать что-то подобное, чтобы при вставке пасты в конец листа.Таблица Excel copy
EDIT: Я искал и нашел способ, но теперь, когда я копирую клетки я получаю 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);
Worksheets имеют конечный размер, так что если вы копируете целые листы , нет места для «добавления» более одного на один рабочий лист. – wakingrufus