我使用XML Feed提取数据 - 此Feed每天都会刷新。我正在尝试编写一个脚本来自动将Sheet1中两个单元格的值复制并粘贴到Sheet2的最后一个空行中。理想情况下,我希望在每次刷新时将两个值粘贴在单元格A1和B1中,然后粘贴到A2和B2等。我有一个脚本,可以将一个单元格复制/粘贴到新工作表中,但我很难同时复制(我不认为我可以使用范围,因为单元格不是彼此相邻)。 / p>
这适用于一个单元格:
function copydata() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("Sheet1");
var sheet2 = ss.getSheetByName("Sheet2");
sheet1.getRange("A60").copyTo(Sheet2.getRange(Sheet2.getLastRow()+1,1,1,1), {contentsOnly:true});
}
但是当我将它与另一个脚本结合使用时,它仍然只复制一个单元格。这是我尝试过的:
function copydata() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("Sheet1");
var sheet2 = ss.getSheetByName("Sheet2");
sheet1.getRange(" A60")。copyTo(sheet2.getRange(sheet2.getLastRow()+ 1,1,1,1),> {contentsOnly:true});
function copydata() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("Sheet1");
var sheet2 = ss.getSheetByName("Sheet2");
sheet1.getRange("A114").copyTo(sheet2.getRange(sheet2.getLastRow()+1,2,1,1),
{contentsOnly:true});
}
}
答案 0 :(得分:0)
根据我的理解,你想在sheet2中创建一个新行,其值为“1”的“A60”和“A114”。
getLastRow()
总是给你最后一行,所以如果你复制“A60”值,它会给你下一行。
如果您知道副本的顺序(例如,首先复制“A60”,然后是“A114”),您可以在一个功能中执行此操作:
function copydata() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet1 = ss.getSheetByName("Sheet1");
var sheet2 = ss.getSheetByName("Sheet2");
sheet1.getRange("A60").copyTo(sheet2.getRange(sheet2.getLastRow()+1,1,1,1),
contentsOnly:true});
sheet1.getRange("A114").copyTo(sheet2.getRange(sheet2.getLastRow(),2,1,1),
{contentsOnly:true});
}