【发布时间】:2018-05-01 18:10:58
【问题描述】:
我有点卡在这个上。在更新另一个电子表格的第一列后,我正在尝试查找相应的行并更新另一个谷歌电子表格中的最后一列。
当用户在电子表格 X 的 ColA 中选择“Restocked”时,我需要在另一张表 (Y) 上查找 ColB 中的 ID 值。然后我需要访问电子表格 Y,找到包含相同 ID 的行。访问最后一列或 columnAZ (52) 并将单元格值更改为“Restocked”。
这是我目前所拥有的......
function restockComplete(){
var s = SpreadsheetApp.getActiveSpreadsheet();
if( s.getName() == "Restock Queue"){
var r = s.getActiveCell();
if ( r.getColumn() == 1 && r.getValue() == "Restocked"){
var nextCell = r.offset(0, 1);
var buybackId = nextCell.getValue();
// Opens SS by its ID
var ss = SpreadsheetApp.openById("xxxxxxxxxxxxxxxSheetIDHerexxxxxxxxxxx");
var sheet = ss.getSheetByName('NameOfSheetHere'); // Name of sheet
// var range = sheet.getRange(1,1); // Gets Column 1 Cell 1 value
//var data = range.getValue();
var data = sheet.getDataRange().getValues();
//var buyback = sheet.getRange(buybackId).getValue();
for(var i = 0; i<data.length;i++){
if(data[i][1] == buybackId){ //[1] because column B
Logger.log((i+1))
i.offset(0, 52).setValue('Restocked');
return i+1;
}
}
}
}
};
【问题讨论】:
-
那么,什么不起作用?我没有看到任何明显的错误。
-
当我设置触发器在编辑时触发 restockComplete() 没有任何反应,我也可以让任何日志记录工作。
-
检查执行记录(查看菜单)是否有特定错误。
-
[18-05-01 11:44:16:932 PDT] Starting execution [18-05-01 11:44:16:939 PDT] SpreadsheetApp.getActiveSpreadsheet() [0 seconds] [18-05-01 11:44:17:048 PDT] Spreadsheet.getName() [0.108 seconds] [18-05-01 11:44:17:049 PDT] Execution succeeded [0.11 seconds total runtime] -
我发现了错误...稍后发布...