【发布时间】:2017-05-09 18:33:43
【问题描述】:
我正在尝试将多行同时从一个 Google 工作表移动到另一个工作表。
我想在一天结束时运行一次脚本以存档所有完整的作业。
只要目标单元格不为空,我编写的脚本一次只能移动 2 行。理想情况下,它将继续循环并仅移动标记为“完成”的作业。
我使用的表格是here
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Admin')
.addItem('Archive', 'archive')
.addToUi();
}
function archive()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Scheduled");
var range = sheet.getRange('A5:Q200');
var sheetToMoveTheRowTo = "Archive";
var numRows = sheet.getLastRow();
var row = sheet.getRange(5,1);
for (var row = 5; row < numRows; row++)
{
var status = sheet.getRange(row,1).getValue();
if ( status == "Complete") {
var targetSheet = ss.getSheetByName(sheetToMoveTheRowTo);
var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
sheet.getRange(range.getRow(),1,1, sheet.getLastColumn()).moveTo(targetRange);
sheet.deleteRow(range.getRow());
}
}
}
【问题讨论】:
标签: google-apps-script google-sheets move delete-row