前提・実現したいこと
"A5:A25"の範囲内で"A1"と同じ背景色・文字色のセルを"A1"と同じ内容になるようにしたいです。
現状では何にも反応せずそのままになってしまっています。
どのようにしたら希望の条件になりますでしょうか?
宜しくお願いいたします。
該当のソースコード
const myFunction = () => { A0("A1","A5:A25"); } const A0 = (sourceA0, targetA0, sheetName) => { sourceA0 = sourceA0 || "A1"; targetA0 = targetA0 || "A5:A25"; const workingSheet = sheetName ? SpreadsheetApp.getActive().getSheetByName(sheetName) : SpreadsheetApp.getActiveSheet(); const sourceRange = workingSheet.getRange(sourceA0); const keyColour = [sourceRange.getFontColor() , sourceRange.getBackground()] ; const designatedValue = sourceRange.getValue(); const targetRange = workingSheet.getRange(targetA0); const targetColours = [targetRange.getFontColors() , targetRange.getBackgrounds()] ; const targetValues = targetRange.getValues(); targetRange.setValues(targetValues.map((r, i) => r.map((c, j) => targetColours[1][i][j] === keyColour && c !== '' ? designatedValue : c)));}
試したこと
const keyColour = (sourceRange.getFontColor() , sourceRange.getBackground())
とすると逆に、背景色のない全てのセルが該当して書き換わってしまいます。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/12/10 02:16