Я искал решение для моей ситуации, но нашел только кусочки того, что я ищу.
Как гласит заголовок, я хочу скрыть определенные столбцы, основанные на значении конкретной ячейки. Я нашел блог, в котором было 30-секундное видео, показывающее, что именно я хочу делать, и даже фрагмент кода, в котором утверждается, что это сработает, но ради жизни я не могу этого добиться.
Вот мой отредактированный код.
function HideColumns() {
//open the current spreadsheet and get the value of the named range
var ss = SpreadsheetApp.getActive();
var name = ss.getRangeByName("GameMode");
var namevalue = name.getValue();
var scheme = ss.getRangeByName("Opponent")
var schemevalue = scheme.getValue();
//check the named range and if the value is NOT equal to "Arena" then hide the requested columns
if (namevalue != "Arena") {
var sheet = ss.getSheetByName("Team Builder");
sheet.hideColumns(8);
sheet.hideColumns(9);
sheet.hideColumns(10);
sheet.hideColumns(11);
sheet.hideColumns(12);
sheet.hideColumns(13);
sheet.hideColumns(14);
}
//OTHERWISE make sure the colums are showing
else if (namevalue == "Arena") {
var sheet = ss.getSheetByName("Team Builder");
sheet.showColumns(8);
sheet.showColumns(9);
sheet.showColumns(10);
sheet.showColumns(11);
sheet.showColumns(12);
sheet.showColumns(13);
sheet.showColumns(14);
}
}