如果單元格中沒有文本,我有一個嵌套的每個回圈設定單元格的背景顏色。我想更新此回圈以設定資料驗證。但是,我被困在下面指示的代碼行上(我不確定如何更新條件陳述句以改為應用于資料驗證)。
const vs = ss.getRange(11, 7, 17, 5).getValues();
const cs = ss.getRange(11, 7, 17, 5).getBackgrounds();
// const nameRange = ss.getRange(1, 1, 10, 1);
// const nameValidation = SpreadsheetApp.newDataValidation().requireValueInRange(nameRange).build();
vs.forEach((r,i)=>{
r.forEach((c,j)=>{
if(c=="") {
cs[i][j] = "#cc4125"; //cs[i][j] = nameRange does not work
}
});
});
ss.getRange(11, 7, 17, 5).setBackgrounds(cs);
uj5u.com熱心網友回復:
我相信你的目標如下。
- 您想通過修改顯示腳本來設定資料驗證而不是背景顏色。
- 資料驗證規則是
nameValidation。
在這種情況下,如何進行以下修改?
修改后的腳本:
var ss = // Please set this.
const range = ss.getRange(11, 7, 17, 5);
const vs = range.getValues();
const nameRange = ss.getRange(1, 1, 10, 1);
const nameValidation = SpreadsheetApp.newDataValidation().requireValueInRange(nameRange).build();
const dataValidations = vs.map(r => r.map(c => c = c == "" ? nameValidation : null));
range.setDataValidations(dataValidations);
- 運行此腳本時,當 范圍內的單元格為空時,為該單元格設定
ss.getRange(11, 7, 17, 5)資料驗證規則nameValidation。
參考:
- 設定資料驗證(規則)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/524231.html
標籤:谷歌应用脚本谷歌表格
