該程序除了獲取一行數據之外完美工作。它總是抓住一個空白集。任何人都能看到我失蹤的東西?複製和粘貼一個愚蠢的行應該很簡單。.getValues()無法正常工作,如果按公式創建的值Google Apps腳本
我需要從編輯的行中抓取D:BA中的數據。接下來,刪除創建數據的公式,然後將保存的數據粘貼回行中,以便我可以對其進行自定義。
function onEdit(e) {
if(e.range.columnStart != 1 ||
e.source.getActiveSheet().getName() != "Loads")
/*e.source.getActiveSheet().getName() != "Loads") ||
e.range.rowStart != 9 || e.range.columnStart != 1 ||
e.range.rowEnd != 53 ||
e.range.columnEnd != 1*/
){
return;
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Loads");
var arr = [];
var r = e.range.getRow();
var cell1 = sheet.getRange(r,1);
var cell2 = sheet.getRange(r,2);
var lastColumn = sheet.getLastColumn();
var row = sheet.getRange(r,4,49,49);
var value = e.value;
var arr = [];
// get cell 2
var cell2value = cell2.getValue();
// delete cell
cell2.clear();
//paste formula
cell2.setFormula('=split(REGEXREPLACE(A'+r+',\",\",\", \"),\",\",true)');
// copy row r,3,1,40
//var row2 = sheet.getRange(r,4,1,10);
var rowValues = row.getValues();
//push row values to array
arr.push(rowValues);
// clear e.range
cell1.clear();
// delete cell
cell2.clear();
// paste cell
//cell2.setValue(cell2value);
// paste row
row.setValues(arr);
}
};
第一印象:你確定它一直在運行嗎?你的'if()'條件沒有'else',所以如果它是真的,它會調用'return'並且什麼也不給你,如果條件計算結果爲false,沒有什麼可執行的。 –