我正在尝试维护单独的表格,这些表格汇总成一个Google电子表格中的一个摘要表格,同时保持格式。我有一个代码,可以将单独工作表的内容复制到摘要中,但是第二个工作表覆盖了摘要工作表中的第一个工作表。这就是我所拥有的-
function importTable2() {
// Source 1
var sourceSheet1 = SpreadsheetApp.openById("ID").getSheetByName("1");
var sourceRange1 = sourceSheet1.getDataRange();
// Source 2
var sourceSheet2 = SpreadsheetApp.openById("ID").getSheetByName("2");
var sourceRange2 = sourceSheet2.getDataRange();
// Destination
var destSS = SpreadsheetApp.openById("ID");
var destSheet = destSS.getSheetByName("Summary");
var destRange = destSheet.getDataRange();
destSheet.clear();
// Copy 1
var copiedsheet = sourceRange1.getSheet().copyTo(destSS);
copiedsheet.getRange(sourceRange1.getA1Notation()).copyTo(destRange);
copiedsheet.getRange(sourceRange1.getA1Notation()).copyTo(destRange, SpreadsheetApp.CopyPasteType.PASTE_COLUMN_WIDTHS, false);
destSS.deleteSheet(copiedsheet);
// Copy 2
var copiedsheet2 = sourceRange2.getSheet().copyTo(destSS);
copiedsheet2.getRange(sourceRange2.getA1Notation()).copyTo(destRange);
copiedsheet2.getRange(sourceRange2.getA1Notation()).copyTo(destRange, SpreadsheetApp.CopyPasteType.PASTE_COLUMN_WIDTHS, false);
destSS.deleteSheet(copiedsheet2);
}
我认为这是因为我的目标范围是相同的,但是我似乎无法弄清楚如何获得第二个目标范围(针对工作表2的数据),该范围将低于初始目标范围(根据工作表1的数据)因为工作表1中的数据今天有10行,明天有20行。
关于如何将源2放入源1数据下的目标表的任何想法?
尝试在脚本的“ // Copy 2”部分中重置destRange
的值:
// Copy 2
var copiedsheet2 = sourceSheet2.copyTo(destSS);
destRange = destSheet.getRange(destSheet.getLastRow() + 1, 1, sourceRange2.getLastRow(), sourceRange2.getLastColumn());
copiedsheet2.getRange(sourceRange2.getA1Notation()).copyTo(destRange);
copiedsheet2.getRange(sourceRange2.getA1Notation()).copyTo(destRange, SpreadsheetApp.CopyPasteType.PASTE_COLUMN_WIDTHS, false);
destSS.deleteSheet(copiedsheet2);