Название: Скрипт для гугл таблицы - скрыть строки по условию Отправлено: Иулия от 24.06.2022, 14:46:02 Здравствуйте! У меня работает макрос в Excel, который по заданному условию скрывает строки, но как его можно наложить на Гугл таблицу? Кто-нибудь может помочь) я так понимаю, что скрипты для гт пишутся иначе, найти подходящий вариант не смогла. Пожалуйста, помогите! Прикладываю макрос, которым пользуюсь в ексель. С уважением)
Название: Re:Скрипт для гугл таблицы - скрыть строки по условию Отправлено: Дмитрий Щербаков(The_Prist) от 24.06.2022, 15:34:43 Добрый день.
Не надо макрос, который в Excel используете. Опишите, как хотите видеть реализацию в Google. В общем случае код может выглядеть так(скрытие всех строк в таблице, значение второго столбца которых меньше 2): Код: (vb) function HideRowsByCondition() { Название: Re:Скрипт для гугл таблицы - скрыть строки по условию Отправлено: Иулия от 24.06.2022, 17:37:55 У меня есть таблица с данными, в одном столбце ее действия или статусы, что сделать, и как только действие/статус сменяется на "На подпись", то целиком строчка с таким статусом скрывается. Статусов вариантов много, но скрывается только этот.
Название: Re:Скрипт для гугл таблицы - скрыть строки по условию Отправлено: Дмитрий Щербаков(The_Prist) от 24.06.2022, 17:54:12 Код: (vb) function onEdit(e) { Название: Re:Скрипт для гугл таблицы - скрыть строки по условию Отправлено: Иулия от 24.06.2022, 18:09:44 Спасибо огромное, что помогаете) начало работать, но выдает ошибку, см.вложение
Название: Re:Скрипт для гугл таблицы - скрыть строки по условию Отправлено: Иулия от 24.06.2022, 18:12:31 Спасибо огромное, что помогаете) начало работать, но выдает ошибку, см.вложение Не могу вложитьCannot read property 'range' of undefined Название: Re:Скрипт для гугл таблицы - скрыть строки по условию Отправлено: Дмитрий Щербаков(The_Prist) от 24.06.2022, 18:23:43 Понимаете в чем тут дело...На моей таблице все работает. Что там в Вашей и где именно надо что смотреть - знаете только Вы. У меня статусы предполагались во втором столбец(т.е. В). И все там работает.
Поэтому в правилах и написано, что нужен ВАШ пример(в данном случае ссылка на документ). Название: Re:Скрипт для гугл таблицы - скрыть строки по условию Отправлено: Иулия от 26.06.2022, 13:53:51 Понимаете в чем тут дело...На моей таблице все работает. Что там в Вашей и где именно надо что смотреть - знаете только Вы. У меня статусы предполагались во втором столбец(т.е. В). И все там работает. Готово, доступ на редактирование настроила)Поэтому в правилах и написано, что нужен ВАШ пример(в данном случае ссылка на документ). https://docs.google.com/spreadsheets/d/14nl3VlyC8-2mFISwJdtcK9CXk4wWctyVDsb3q5Y6bbo/edit?usp=sharing Название: Re:Скрипт для гугл таблицы - скрыть строки по условию Отправлено: Иулия от 26.06.2022, 13:56:54 Код: (vb) function onEdit(e) { Название: Re:Скрипт для гугл таблицы - скрыть строки по условию Отправлено: Иулия от 26.06.2022, 14:04:03 Единственный момент, если я раскрыла, нажав на стрелочки, то как закрыть их опять (см.снимки)
Название: Re:Скрипт для гугл таблицы - скрыть строки по условию Отправлено: Дмитрий Щербаков(The_Prist) от 27.06.2022, 14:33:25 Выше(первое же сообщение) есть скрипт, который скрывает все строки со значением "На подпись". Или примените фильтр.
Название: Re:Скрипт для гугл таблицы - скрыть строки по условию Отправлено: Иулия от 27.06.2022, 20:58:19 Выше(первое же сообщение) есть скрипт, который скрывает все строки со значением "На подпись". Или примените фильтр. Вот этот?function HideRowsByCondition() { var doc = SpreadsheetApp.getActiveSpreadsheet(); var sheet = SpreadsheetApp.getActiveSheet(); var lastRow = SpreadsheetApp.getActiveSheet().getLastRow(); for (var i = lastRow; i > 0; i--) { var range = sheet.getRange(i,2); var cellVal = range.getValue(); if (cellVal < 2) { sheet.hideRows(i); } else{ sheet.showRows(i); } } } Я его применила для чисел, у меня работает, но куда необходимо вставить "На подпись", вставляю вместо "< 2" скрывает все. Название: Re:Скрипт для гугл таблицы - скрыть строки по условию Отправлено: Иулия от 27.06.2022, 23:08:01 Вот этот? Я придумала) я создала еще колонку, где прописала формулу Если..., то , совместила два скрипта и у меня все получилось)function HideRowsByCondition() { var doc = SpreadsheetApp.getActiveSpreadsheet(); var sheet = SpreadsheetApp.getActiveSheet(); var lastRow = SpreadsheetApp.getActiveSheet().getLastRow(); for (var i = lastRow; i > 0; i--) { var range = sheet.getRange(i,2); var cellVal = range.getValue(); if (cellVal < 2) { sheet.hideRows(i); } else{ sheet.showRows(i); } } } Я его применила для чисел, у меня работает, но куда необходимо вставить "На подпись", вставляю вместо "< 2" скрывает все. Название: Re:Скрипт для гугл таблицы - скрыть строки по условию Отправлено: Дмитрий Щербаков(The_Prist) от 28.06.2022, 09:23:49 Вы уж извините, но можно же было аналогию-то провести хоть какую-то :)
Вместо условия Код: (vb) if (cellVal < 2) { пишите Код: (vb) if (cellVal == "На подпись") { как в другом коде Название: Re:Скрипт для гугл таблицы - скрыть строки по условию Отправлено: Иулия от 29.06.2022, 22:06:43 А я так и делала, но = ставила один раз))))
Но честно, в итоге здорово получилось с двумя скриптами, один закрывает (я ещё кнопку сделала для него), если вдруг раскрыли, а второй скрывает при замене статуса)) спасибо Вам за помощь!😊 |