I hope I can explain this well as I have absolutely no coding background. Luckily, I found a script on here that will hide a column, based on the status of a checkbox.
The code is:
function onEdit(e) { if (e.range.getA1Notation() != "B5") return; if (e.value == "TRUE") { SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().hideColumns(8,4); } else if (e.value == "FALSE") { SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().showColumns(8,4); } } This will hide columns H through K, if B5 is checked.
My issue is that I have different checkboxes that need to hide different columns, but I can only get 1 script to work at at time.
Here's what I need:
When B5 is checked, I need Columns H, I, J, and K hidden.
When B6 is checked, I need Columns L, M, N, and O hidden.
When B7 is checked, I need Columns P, Q, R, and S hidden.
And so on... If multiple cells are checked, then multiple ranges, listed above, need to be hidden.
Since I have no clue what I am doing, I figured I would just make a new script for each scenario. I realize that there is probably an easier way, but this works for me if needed.
So, if I have one script saved as
function onEdit(e) { if (e.range.getA1Notation() != "B5") return; if (e.value == "TRUE") { SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().hideColumns(8,4); } else if (e.value == "FALSE") { SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().showColumns(8,4); } } and another saved as
function onEdit(e) { if (e.range.getA1Notation() != "B6") return; if (e.value == "TRUE") { SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().hideColumns(12,4); } else if (e.value == "FALSE") { SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().showColumns(12,4); } } Only the second script works. Likewise, if I add a third script, then only the 3rd one works and the first two don't.
How can I make each one work independently of each other?