// regex for hex color codes HEX_COLOR_REGEX = /(^#[0-9A-Fa-f]{3}$)|(#[0-9A-Fa-f]{6}$)/; // column to watch for changes (i.e. column where hex color codes are to be entered) HEX_CODE_COLUMN = 1; // i.e. column A // column to change when above column is edited HEX_COLOR_COLUMN = 2; // i.e. column B // utility function to test whether a given string qualifies as a hex color code function hexTest(testCase) { return HEX_COLOR_REGEX.test(testCase); } function onEdit(e) { var range = e.range; var row = range.getRow(); var column = range.getColumn(); if (column === HEX_CODE_COLUMN) { var values = range.getValues(); values.forEach( function checkCode(rowValue, index) { var code = rowValue[0]; if (hexTest(code)) { var cell = SpreadsheetApp.getActiveSheet().getRange(row + index, HEX_COLOR_COLUMN); cell.setBackground(code); SpreadsheetApp.flush(); } }); } }