[英]Google Sheets converting Conditional Formatting to Apps Scripts
我確信沒有一個簡單的方法可以做到這一點,但我想我會問。 我有一張帶有大量條件格式的表格,但是,與我共享表格的人一直在復制/粘貼和移動行,這嚴重破壞了格式。 我正在嘗試為他們轉換為腳本。 主要是基於其他小區信息的背景colors。
即:如果 AD 列第 4 行的任何單元格中包含信息,則 K4 將為紅色。 一旦 K4 里面有信息,那么背景將是白色的。
我的條件格式是:=AND(OR(ISBLANK(A4)=FALSE,ISBLANK(B4)=FALSE,ISBLANK(C4)=FALSE,ISBLANK(D4)=FALSE),ISBLANK(K4)=TRUE)。
另一個是當任何單元格具有特定術語“LWOS”時,整行都有紫色背景和刪除線。
提前致謝。
我知道當你是新手時編寫腳本很難,所以我理解你並決定我會給你一個應該適用於你的代碼。 如果您想了解更多信息,請按照 Endothermic_Dragon 的建議學習Apps Script 。
代碼:
function onEdit(e) {
// Get active spreadsheet and sheet
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getActiveSheet();
// Get row and column of the current cell edited
var editRow = e.range.getRow();
var editColumn = e.range.getColumn();
// If edited cell is below row 4:
if(editRow > 3) {
// Get row and K cell for checking values later
var rowRange = sheet.getRange("A" + editRow + ":D" + editRow)
var rowValues = rowRange.getValues();
var kCell = sheet.getRange("K" + editRow);
var kValue = kCell.getValue();
var rowHasValue = rowValues[0].some(el => !!el);
var rowHasLWOS = rowValues[0].includes("LWOS");
var kHasValue = kValue != "";
// If edited column is in A-D
if(editColumn < 5) {
// If we see a value on that row and K row doesnt have value
if(rowHasValue && !kHasValue){
// Set K cell to red
kCell.setBackground("red");
}
// If columns A-D of the edited row has LWOS
// (cell value is "LWOS", not cell containing LWOS)
if (rowHasLWOS){
// Set row to purple and strikethrough
sheet.getRange(editRow + ":" + editRow).setBackground("purple").setFontLine("line-through");
}
}
// If edited column is K
if(editColumn == 11) {
// If row doesnt have LWOS, proceed with checking the K value
if(!rowHasLWOS) {
// If edited value of K has value
if(kHasValue) {
// Set K to white
sheet.getRange("K" + editRow).setBackground("white");
}
// If K value was deleted and A-D has values
if(rowHasValue && !kHasValue) {
// Set K back to red
sheet.getRange("K" + editRow).setBackground("red");
}
}
}
}
}
Output:
這有關於它的評論,所以希望你至少可以理解代碼的作用以及它是如何工作的。
有關更多詳細信息,請查看您可以在下面學習的參考資料。
參考:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.