Javascript GoogleSheets OneEdit特定单元格
在GoogleSheets中,我希望在编辑要复制的工作表中的特定单元格后,将数据从一个工作表复制到另一个工作表。我有代码可以做我想要的,除了被特定的单元格触发。谁能告诉我我错过了什么Javascript GoogleSheets OneEdit特定单元格,javascript,google-sheets,Javascript,Google Sheets,在GoogleSheets中,我希望在编辑要复制的工作表中的特定单元格后,将数据从一个工作表复制到另一个工作表。我有代码可以做我想要的,除了被特定的单元格触发。谁能告诉我我错过了什么 function OnEdit(e) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var destination = SpreadsheetApp.openById("1P6gj2UwfRmSMYZ4LBovvqbqy88aluOysPqWWhWbw_
function OnEdit(e) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var destination = SpreadsheetApp.openById("1P6gj2UwfRmSMYZ4LBovvqbqy88aluOysPqWWhWbw_VE")
var source_sheet = ss.getSheetByName("Submit");
var destination_sheet = destination.getSheetByName("Point Tracker");
var source_range = source_sheet.getRange("A2:C2");
var editedcell = source_sheet.getRange("C2");
if(editedcell.getValue() !== 0){
var last_row = destination_sheet.getLastRow();
destination_sheet.insertRowAfter(last_row);
var destination_range = destination_sheet.getRange("A"+(last_row+1)+":C"+(last_row+1));
source_range.copyTo(destination_range,{contentsOnly:true});
source_sheet.getRange("C2").setValue("");
}
}
我想这可能行得通。我通常要调试这些东西,但希望我能让你更接近
function copyOnTrigger(e)
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var destination = SpreadsheetApp.openById("1P6gj2UwfRmSMYZ4LBovvqbqy88aluOysPqWWhWbw_VE")
var source_sheet = ss.getSheetByName("Submit");
var destination_sheet = destination.getSheetByName("Point Tracker");
var source_range = source_sheet.getRange("A2:C2");
var editedcell = source_sheet.getRange("C2");
var cell=e.range.getCell(1,1).getA1Notation();
if(cell=='C2' && e.value != 0){
var last_row = destination_sheet.getLastRow();
destination_sheet.insertRowAfter(last_row);
var destination_range = destination_sheet.getRange("A"+(last_row+1)+":C"+(last_row+1));
source_range.copyTo(destination_range,{contentsOnly:true});
source_sheet.getRange("C2").setValue("");
}
}
看看这是否有效
function onEdit(e) {
if (e.source.getActiveSheet().getName() !== "Submit" ||
e.range.getA1Notation() != 'C2' || typeof e.value == 'object') return;
SpreadsheetApp.openById("1P6gj2UwfRmSMYZ4LBovvqbqy88aluOysPqWWhWbw_VE")
.getSheetByName('Point Tracker')
.appendRow(e.range.offset(0, -2, 1, 3)
.getValues()[0]);
e.range.setValue(null);
}
注意:此脚本使用事件对象。不要通过在脚本编辑器中点击播放按钮来测试脚本。而是编辑acual单元格,看看它是否有效。Most-welcome@jc247。请接受答案,如果回答了你的问题,请投赞成票。