выберите диапазон, щелкнув по комбинированному значению в листах Google - PullRequest
0 голосов
/ 14 ноября 2018

Мне нужно сделать выпадающий список на листах Google с указанием месяцев, когда я нажимаю на один из месяцев, указатель должен идти в определенном диапазоне на том же листе, например, если щелкнуть один раз в ноябре, фокус должен иди в камеры (8,233). Спасибо

1 Ответ

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

Один из способов сделать это - установить скрипт onEdit, как показано ниже. Это немного грубая сила, но ее очень легко понять и изменить.

В приведенном ниже примере я предположил, что выпадающий список находится в B7 (выбран случайным образом). Это строка 7, столбец 2.

В зависимости от того, в каком месяце фокус «jan» - «Dec» переключается на B21 на B32 соответственно.

Вы можете редактировать код, куда бы вы ни поместили раскрывающийся список и куда хотите изменить фокус.

function onEdit(event){
   var sheet = SpreadsheetApp.getActiveSheet();

   var map ={'Jan':'B21',
            'Feb':'B22',
            'Mar':'B23',
            'Apr':'B24',
            'May':'B25',
            'Jun':'B26',
            'Jul':'B27',
            'Aug':'B28',
            'Sep':'B29',
            'Oct':'B30',
            'Nov':'B31',
            'Dec':'B32'
           }; 

   // make sure event is coming from the drop-down
   if (event.range.getRow() == 7  &&  event.range.getColumn() == 2 )
   {
       var value = event.range.getValue();
       range=sheet.getRange(map[value]);
       sheet.setActiveRange(range);
   }  
}

РЕДАКТИРОВАТЬ: Код обновлен с конструкции if else до конструкции "associative array" (реализован как JS-объект, инициализированный парами ключ: значение) на основе превосходных комментариев от соответствующим образом названного "TheMaster".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...