我試圖在我正在更改的單元格的同一行中設定多個單元格的值。
如果 AJ2 中的值是 True,那么范圍 AK2:AX2 也應該是真。如果我將 AJ2 更改為假,那么我應該能夠取消選中該范圍內的任何值,然后它們就會是假的。我'有點'有這個邏輯作業。如果我選中 AJ2 并取消選中 AK2,當我取消選中 AJ2 時,它會重新選中 AK2。
如果我為它們的行更改 AJ 列中的值,我也需要在所有行上發生這種情況。不只是第 2 行。我對使用作業表還很陌生,可以使用一些幫助。
function onEdit(e) {
var ss=SpreadsheetApp.getActiveSpreadsheet();
var cell = ss.getRange("AJ2");
var range =ss.getRange("AK2:AX2")
var activeCell = ss.getActiveCell();
if(activeCell.getColumn() == 36&&ss.getActiveSheet().getName()=="MasterData") {
if (Cell = "TRUE")
range.setValue("TRUE")}
}
uj5u.com熱心網友回復:
試試這個
function onEdit(e) {
const sheet = e.source.getActiveSheet();
const cell = e.range;
// AJ = column 36 (master column)
if(sheet.getName() == "MasterData" && cell.getColumn()==36 && cell.isChecked()){
sheet.getRange(cell.getRow(),37,1,14).setValue('TRUE')
}
// individual columns : 37 (AK) to 50 (AX)
if(sheet.getName() == "MasterData" && cell.getColumn()>=37 && cell.getColumn()<=50 && !cell.isChecked()){
sheet.getRange(cell.getRow(),36,1,1).setValue('FALSE')
}
}
解釋
當在第 36 列(AJ = '主列')中選中一個框時,將選中 37 到 50(AK 到 AX)之間同一行的所有框
當在第 37 列到第 50 列(AK 到 AX)之間取消選中單個框時,同一行的主框也將取消選中
參考
onEdit 觸發器
uj5u.com熱心網友回復:
所述onEdit(e)中簡單觸發回傳一個事件物件。
事件物件包含有關已編輯電子表格的資訊,您可以使用這些資訊代替“SpreadsheetApp.getActiveSpreadsheet()”
要訪問事件物件中的資訊,您需要使用“e”:
function onEdit(e) {
//the sheet that was edited
var sheet = e.source.getActiveSheet();
//the cell that was edited
var cell = sheet.getActiveCell();
//the row number of the cell that was edited
var row = cell.getRow();
//the column number of the cell that was edited
var column = cell.getColumn();
從那里,像往常一樣處理作業表和范圍。
要一次更新多個單元格,您可以使用getRange(row, column, numRows, numColumns)然后setValues(values) 設定范圍。請注意,它是 setValues(),而不是 setValue()。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/397966.html
