Чтобы не слетало форматирование, не используйте
ws.getRange(2, 1, 1000, ws.getLastColumn()).clearFormat();
Чтобы забиндить скрипт на сочетание клавиш - пишите макрос и назначайте. Там сочетания вида
Ctrl+
Alt+
Shift+
N
Или можно подправить
appsscript.json
//...
"sheets": {
"macros": [{
"menuName": "macros1",
"functionName": "myFunction",
"defaultShortcut": "Ctrl+Shift+Alt+1"
}]
}
//...
Также возможно что просто код не выполняется(ошибка), попробуйте это:
function onSelectionChange() {
let ss = SpreadsheetApp.getActiveSpreadsheet();
let as = ss.getActiveSheet();
let ac = as.getActiveCell();
let row = ac.getRow();
as.getRange(row+":"+row).setBackground("yellow");
}