请参阅我的电子表格的 Sheet1:
https://docs.google.com/spreadsheets/d/1EoOIQxWyKWOvtlCrmJNI76FAxGhzgXrE4s0F05tw2MY/edit#gid=0
例如,我想通过将 H3 中的值更改为“submitResponse”,将 A3:G3 的值(不是公式)复制到“主”表的底行。然后,一旦复制该行,我想自动清除单元格 H3 以及范围 A2:G2 (复制的行上方的行),因为这些将是用户之前编辑以调整 A3:G3 的变量它被复制。
为了提供帮助,这里有一个 @Cooper 为我构建的脚本,可以将我推向正确的方向:
function onEdit(e){
var sh=e.range.getSheet();
if (sh.getName()=='Sheet1' && e.range.columnStart==8 && e.range.rowStart>1 && e.value=="submitResponse") {
var msh=e.source.getSheetByName("Master");
msh.appendRow(sh.getRange(e.range.rowStart,1,1,7).getDisplayValues()[0]);
}
}
来自上一个问题:修改灵活的 Google Sheets onEdit 脚本以适应更广泛的输入
Update:
function onEdit(e){
var done = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('Y:Y');
var sh=e.range.getSheet();
if (sh.getName()=='submit' && e.range.columnStart==25 && e.range.rowStart>1 && e.value=="submit") {
var msh=e.source.getSheetByName("db");
msh.appendRow(sh.getRange(e.range.rowStart,1,1,24).getDisplayValues()[0]);
done.clearContent();
}
}
更新2:
function onEdit(e){
var submitColumn = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('Y:Y');
var rowAbove = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('J11:L11');
var sh=e.range.getSheet();
if (sh.getName()=='submit' && e.range.columnStart==25 && e.range.rowStart>1 && e.value=="submit") {
var msh=e.source.getSheetByName("db");
msh.appendRow(sh.getRange(e.range.rowStart,1,1,24).getDisplayValues()[0]);
submitColumn.clearContent();
rowAbove.ClearContent();
}
}