在跟客戶或同事共用線上試算表,或許多少遇過條件式格式被動到,導致要重新調整的麻煩事吧?
以下語法可以透過"擴充功能>Apps Script"加上,並且透過裡面的觸發器,達到條件式格式不會跑掉的結果。
要注意的是,觸發器盡量不要是隨時觸發,以免佔用過多的資源!
以下範例是以晚於當天日期就會變色,並且文字要左右+垂直置中的方式去撰寫,可以專案的需求去做變更。
function restoreConditionalFormatting() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("替換為你的工作表名稱"); // 替換為你的工作表名稱
var range = sheet.getRange("B2:C999"); // 替換為你要保護的範圍
// 清除現有條件式格式
range.clearFormat();
// 添加條件式格式
var today = new Date();
var rule = SpreadsheetApp.newConditionalFormatRule()
.whenDateAfter(today)
.setBackground("#b7e1cd") // 設置背景色為淡綠色
.setRanges([range])
.build();
var rules = sheet.getConditionalFormatRules();
rules.push(rule);
sheet.setConditionalFormatRules(rules);
// 將文字水平對齊方式設置為置中
range.setHorizontalAlignment("center");
range.setVerticalAlignment("middle");
}
function onEdit(e) {
restoreConditionalFormatting();
}
留言列表