Google Script - Скрыть столбец, если ячейка в столбце содержит определенное значение - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь скрыть все столбцы в Google Sheets, если ячейка в этом столбце содержит букву «S», я проверяю строку 6, в которой есть инициалы каждого дня недели, и хочу показать и скрытьвыходные дни Столбцы A6: G6 имеют M, T, W, T, F, S, S

Причина для 9999 - это лист, содержащий несколько недель, и я пытаюсь просмотреть все из них.

function Hide() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  var data = sheet.getDataRange();
  var lastCol = data.getLastColumn()+1;

  for(var i = 1; i < lastCol - 9999; i++) {
    if(data.getCell(6, 9999 + i).getValue() === "S") {
      sheet.hideColumns(9999 + i);
    }
  }
};

Это то, что у меня есть до сих пор, но, похоже, оно ничего не делает, может кто-нибудь помочь мне понять, что мне не хватает, пожалуйста, так как я смотрю вокруг и не могу найти ничего, что помогло бы мне свопрос?

Спасибо !!

1 Ответ

0 голосов
/ 21 ноября 2018

Попробуй это.Сценарии Google Apps - это в основном Javascript.Вот как я должен проходить по столбцам, так как используемая область листа динамически изменяется, тогда он остановится на последнем использованном столбце.

function Hide() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet();
  // get the entire 6th Row
  var range = sheet.getRange("6:6");
  // get number of columns to loop through
  var num_cols = range.getNumColumns();
  // loop through columns and check value one by one
  // if value is equal to "S", then hide the column
  for (var i = 1; i <= num_cols; i++) {
    var value = sheet.getRange(6,i).getValue();
    if (value == "S") {
      sheet.hideColumns(i);
      };
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...