Скрыть / Показать столбцы - PullRequest
0 голосов
/ 26 апреля 2019

Мне нужна помощь с макросом, который покажет набор столбцов, а другой - тот же набор столбцов, который назначен двум отдельным кнопкам.

В настоящее время у меня есть Hide Bootcampи Show Bootcamp кнопки, которые будут выполнять эту задачу, но я знаю, что в этот рабочий лист нужно будет добавить столбцы, которые в будущем отбросят диапазоны (<> Столбец I ИЛИ Столбцы BJ: CO).У кого-нибудь есть решение, которое сохранит целостность диапазона при добавлении / удалении столбцов на листе?

Ссылка на лист

https://docs.google.com/spreadsheets/d/17H9QMJ7Lmznon8G0dO4MGkidE0b6ymrvgt7fTE9gQBw/edit?usp=sharing

Текущий код ниже

Скрыть столбцы

function HideBootcamp() {
  var spreadsheet = SpreadsheetApp.getActive();

   spreadsheet.getRange('I:I').activate();
   spreadsheet.getActiveSheet().hideColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns());

   spreadsheet.getRange('BJ:CO').activate();
   spreadsheet.getActiveSheet().hideColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns());

   spreadsheet.getRange('A2').activate();
};

Показать столбцы

function ShowBootcamp() {
  var spreadsheet = SpreadsheetApp.getActive();

   spreadsheet.getRange('I:I').activate();
   spreadsheet.getActiveSheet().showColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns());

   spreadsheet.getRange('BJ:CO').activate();
   spreadsheet.getActiveSheet().showColumns(spreadsheet.getActiveRange().getColumn(), spreadsheet.getActiveRange().getNumColumns());

   spreadsheet.getRange('A2').activate();
};

1 Ответ

0 голосов
/ 26 апреля 2019

Скрыть столбец по имени

Если вы ответите «да» на оба моих вопроса в приведенном выше комментарии, тогда этот столбец будет скрыт для вас.Все, что вам нужно сделать, это дать функции имя вашего столбца в верхней строке, и, конечно, вам, вероятно, придется изменить имя листа.

function hideColumnByName(name) {
  var name=name||'HDR10';//debug
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Master');
  var rg=sh.getRange(1,1,1,sh.getLastColumn())
  var hA=rg.getValues()[0];
  sh.hideColumns(hA.indexOf(name)+1);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...