This script tries to add or remove checkboxes from column A if columns B-D are populated or not. If every cell in those three columns of that row is populated then a checkbox is inserted in column A. If even one cell in those three columns of that row is not populated, then no checkbox is inserted.
column A = checkboxes
column B = title
column C = tstart
column D = tstop
function refreshCheckboxes(){ let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet_name'); var rows = sheet.getDataRange().getValues(); var headers = rows.shift(); var checkbox = row[0] var title = row[1]; var tstart = row[2]; var tstop = row[3]; for (var i = 0; i < rows.length; i++) { if (rows[[title][tstart][tstop]] !== "") { checkbox.insertCheckboxes(); } else { checkbox.clearDataValidations(); checkbox.clearContent(); } }}
CURRENT OUTCOME:
ReferenceError: row is not defined is occurring when the row variables are being set. I'm not sure why I'm getting that error because I have similar functions that define the row variables in this way. My other worry with this script is about how columns B-D are set up. Is an array appropriate here and and is there an better way to set this up?
DESIRED OUTCOME:
To identify what is causing the row definition error and correct it. To verify if that AND() functionality works.
I already have an onEdit() that works perfectly other than it applying to only one row at a time thus I wanted to make a custom to run as needed.
Thanks!