我想添加一个脚本,如果一列不是空白的话,该脚本会将行移动到另一个选项卡
这是我正在使用的脚本。 “不要空白”是我需要弄清楚的部分。我知道如果它具有特定值时如何移动它,但是想知道如果它具有任何文本时如何使其移动。
function onEdit(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Current" && r.getColumn() == 1 && r.getValue() == "NOT BLANK") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Complete");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target); s.deleteRow(row);
}
}
如果目标列不是空白,则将行移至第二个标签页
答案 0 :(得分:0)
更改此行:
if(s.getName() == "Current" && r.getColumn() == 1 && r.getValue() == "NOT BLANK")
对此:
if(event.range.getSheet().getName()=="Current" && event.range.columnStart==1 && event.value.length>0)
这是我玩了一点之后想到的。
function onEdit(e) {
var ss=e.source;
var rg=e.range;
var sh=rg.getSheet();
var col=rg.columnStart;
if(sh.getName()=="Sheet46" && col==1 && e.value.length>0) {
var row=rg.rowStart;
var numColumns = sh.getLastColumn();
var targetSheet = ss.getSheetByName("Sheet50");
var target=targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
sh.getRange(row, 1, 1, numColumns).moveTo(target);
sh.deleteRow(row);
}
}