【发布时间】:2022-10-24 14:42:49
【问题描述】:
我希望为 A 列中的复选框设置脚本,以将该行移动到单独的工作表中。本质上,我想将检查完成的数据移动到“完成”表。你能帮我吗?我通过搜索找到了一些,但我不知道它们是否是最新的。我无法让它们发挥作用。
【问题讨论】:
标签: google-apps-script google-sheets
我希望为 A 列中的复选框设置脚本,以将该行移动到单独的工作表中。本质上,我想将检查完成的数据移动到“完成”表。你能帮我吗?我通过搜索找到了一些,但我不知道它们是否是最新的。我无法让它们发挥作用。
【问题讨论】:
标签: google-apps-script google-sheets
尝试:
function onEdit(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Sheet1" && r.getColumn() == 4 && r.getValue() == true) {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Sheet2");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
} else if(s.getName() == "Sheet2" && r.getColumn() == 4 && r.getValue() == false) {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Sheet1");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
}
【讨论】: