Практически не работаю в Эксель,в Гуглотаблицах тем более. Есть ли такая возможность для быстрого сокрытия/раскрытия в большой таблице таких строк? Потому что нужно очень часто и быстро это делать.
У меня уже есть чекбокс - отмечаю выполненные заказы, они вперемешку с невыполненными.
В принципе, я сделал чекбокс, чтобы быстро присваивать строчке зеленый фон. Я еще хотел, чтобы при этом все условные форматирования (-, в план, готов, отмена) заменялись на "готов". Но это я не осилю.
Только можно ли прикрутить "кнопочку"? Или можно слева сделать еще один столбик с чекбоксами, при нажатии на любой из них будет как раз выполняться скрытие всех строк с птичками в соседнем сnолбике?
Практически не работаю в Эксель,в Гуглотаблицах тем более. Есть ли такая возможность для быстрого сокрытия/раскрытия в большой таблице таких строк? Потому что нужно очень часто и быстро это делать.
У меня уже есть чекбокс - отмечаю выполненные заказы, они вперемешку с невыполненными.
В принципе, я сделал чекбокс, чтобы быстро присваивать строчке зеленый фон. Я еще хотел, чтобы при этом все условные форматирования (-, в план, готов, отмена) заменялись на "готов". Но это я не осилю.
Только можно ли прикрутить "кнопочку"? Или можно слева сделать еще один столбик с чекбоксами, при нажатии на любой из них будет как раз выполняться скрытие всех строк с птичками в соседнем сnолбике?egorus
Пока сделал, поставив фильтр на столбик с чекбоксом по условию ЛОЖЬ. Только кликов много - три. Было бы так - по клику вверху по значку фильтра сразу бы применялось условие фильтра. Потом отжал - фильтр снялся.
Пока сделал, поставив фильтр на столбик с чекбоксом по условию ЛОЖЬ. Только кликов много - три. Было бы так - по клику вверху по значку фильтра сразу бы применялось условие фильтра. Потом отжал - фильтр снялся.egorus
Живой пример давайте! Без примера - уныло. Как без примера добавить скрипт в вашу таблицу? А для такой работы чек-бокса, какую желаете, нужен скрипт. Не словами же объяснять... Да и как сам скрипт написать, если на картинках не видно ни задействованных колонок таблицы, ни области, ею занимаемой? Сочинять же свою таблицу-пример по мотивам ваших картинок - ни у кого нет желания. Так что давайте тестовую копию своей таблички - удалите конфиденциальные данные и покажите! Не думаю, что даты, номера заказов и их статусы являются таким уж секретом. А секретные колонки - удалите из тестовой копии.
Живой пример давайте! Без примера - уныло. Как без примера добавить скрипт в вашу таблицу? А для такой работы чек-бокса, какую желаете, нужен скрипт. Не словами же объяснять... Да и как сам скрипт написать, если на картинках не видно ни задействованных колонок таблицы, ни области, ею занимаемой? Сочинять же свою таблицу-пример по мотивам ваших картинок - ни у кого нет желания. Так что давайте тестовую копию своей таблички - удалите конфиденциальные данные и покажите! Не думаю, что даты, номера заказов и их статусы являются таким уж секретом. А секретные колонки - удалите из тестовой копии.Gustav
Как раз может быть подскажете, как какие-то вещи сделать более правильно. Потому что это мое творчество буквально нескольких часов, даже не изучения, а быстрого поиска решения в инете. Нужно было быстро начинать что-то делать. Возможно, это даже не для таблиц задача. Частично свои хотелки реализовал, возможно, и через одно место. Фильтр на выполненные заказы поставил. Теперь можно довольно быстро убирать с экрана выполненные заказы ,чтобы концентрироваться только на те, что в работе. А вот замена всех статусов на "готов" - ну, это интересная была бы штучка.
Как раз может быть подскажете, как какие-то вещи сделать более правильно. Потому что это мое творчество буквально нескольких часов, даже не изучения, а быстрого поиска решения в инете. Нужно было быстро начинать что-то делать. Возможно, это даже не для таблиц задача. Частично свои хотелки реализовал, возможно, и через одно место. Фильтр на выполненные заказы поставил. Теперь можно довольно быстро убирать с экрана выполненные заказы ,чтобы концентрироваться только на те, что в работе. А вот замена всех статусов на "готов" - ну, это интересная была бы штучка.egorus
Сообщение отредактировал egorus - Воскресенье, 29.05.2022, 20:06
Сделал первую хотелку - фильтровать одним кликом (а не тремя). Управляется флажком в ячейке A1 на листе "Производство". Код внедрил в ваш тестовый файл, здесь привожу для справки и как узелок на память (в том числе и для себя):
А вот замена всех статусов на "готов" - ну, это интересная была бы штучка.
Давайте уточним это. Т.е. при щелчке на флажке для какой-то строки, когда она красится в зеленый цвет, надо еще и значение "готов" в статусной колонке прописать вместо имеющегося там на момент щелчка? В обеих колонках - Препресс и Печать? Или только в какой-то одной?
Сделал первую хотелку - фильтровать одним кликом (а не тремя). Управляется флажком в ячейке A1 на листе "Производство". Код внедрил в ваш тестовый файл, здесь привожу для справки и как узелок на память (в том числе и для себя):
А вот замена всех статусов на "готов" - ну, это интересная была бы штучка.
Давайте уточним это. Т.е. при щелчке на флажке для какой-то строки, когда она красится в зеленый цвет, надо еще и значение "готов" в статусной колонке прописать вместо имеющегося там на момент щелчка? В обеих колонках - Препресс и Печать? Или только в какой-то одной?Gustav
значение "готов" в статусной колонке прописать вместо имеющегося там на момент щелчка
Да, хотелось бы, чтобы все статусы, где они были в строке, заменились на "готов" (даже сам "готов" - так будет проще )) ) Единственное, в основной таблице где-то выше остались (возможно хотя пробежался, почистил) статусы "-" Я этот статус решил убрать Это же не помешает? (В копии я один оставил в одной ячейке, чтобы Вы понимали, о чем речь)
А как мне уже перенести Ваш чекбокс в основную таблицу?
значение "готов" в статусной колонке прописать вместо имеющегося там на момент щелчка
Да, хотелось бы, чтобы все статусы, где они были в строке, заменились на "готов" (даже сам "готов" - так будет проще )) ) Единственное, в основной таблице где-то выше остались (возможно хотя пробежался, почистил) статусы "-" Я этот статус решил убрать Это же не помешает? (В копии я один оставил в одной ячейке, чтобы Вы понимали, о чем речь)
А как мне уже перенести Ваш чекбокс в основную таблицу?egorus
Сообщение отредактировал egorus - Понедельник, 30.05.2022, 08:17
if (rng.getValue() == true) { // если флажок устанавливается - включаем фильтр setFilter(); } else { // если флажок снимается - удаляем фильтр removeFilter(); } }
if (rng.getSheet().getName() == 'Производство' && rng.getNumColumns() == 1 && rng.getNumRows() == 1 && rng.getColumn() == 1 && rng.getRow() >= 3) { // ячейка A3 и ниже
if (rng.getValue() == true) { // если флажок устанавливается - устанавливаем статусы "готов" setStatusGotov(rng.getRow()); } } }
function setFilter() { var ss = SpreadsheetApp.getActive(); var filter = ss.getActiveSheet().getFilter(); if (! filter) { filter = ss.getRange('A2:A').createFilter(); } var criteria = SpreadsheetApp.newFilterCriteria() .setHiddenValues(['TRUE','ИСТИНА']) // скрываем выполненные заказы .build(); filter.setColumnFilterCriteria(1, criteria); }
function removeFilter() { var ss = SpreadsheetApp.getActive(); var filter = ss.getActiveSheet().getFilter(); if (filter) { filter.remove(); } }
function setStatusGotov(row) { var ss = SpreadsheetApp.getActive(); var range = ss.getRange('O'+row+':AB'+row) var values = range.getValues(); values[0].forEach(function(v,i,a) { if (v) { a[i] = 'готов' } // если статус не пустой, меняем на "готов" }); range.setValues(values); SpreadsheetApp.flush(); }
как мне уже перенести Ваш чекбокс в основную таблицу?
Выполнить в копии и в основной таблице команду верхнего меню "Расширения \ Apps Script" и перенести код копированием. Ну, а в самой основной таблице добавить строку выше первой и оформить ячейку A1 по аналогии с ячейкой A1 из копии.
if (rng.getValue() == true) { // если флажок устанавливается - включаем фильтр setFilter(); } else { // если флажок снимается - удаляем фильтр removeFilter(); } }
if (rng.getSheet().getName() == 'Производство' && rng.getNumColumns() == 1 && rng.getNumRows() == 1 && rng.getColumn() == 1 && rng.getRow() >= 3) { // ячейка A3 и ниже
if (rng.getValue() == true) { // если флажок устанавливается - устанавливаем статусы "готов" setStatusGotov(rng.getRow()); } } }
function setFilter() { var ss = SpreadsheetApp.getActive(); var filter = ss.getActiveSheet().getFilter(); if (! filter) { filter = ss.getRange('A2:A').createFilter(); } var criteria = SpreadsheetApp.newFilterCriteria() .setHiddenValues(['TRUE','ИСТИНА']) // скрываем выполненные заказы .build(); filter.setColumnFilterCriteria(1, criteria); }
function removeFilter() { var ss = SpreadsheetApp.getActive(); var filter = ss.getActiveSheet().getFilter(); if (filter) { filter.remove(); } }
function setStatusGotov(row) { var ss = SpreadsheetApp.getActive(); var range = ss.getRange('O'+row+':AB'+row) var values = range.getValues(); values[0].forEach(function(v,i,a) { if (v) { a[i] = 'готов' } // если статус не пустой, меняем на "готов" }); range.setValues(values); SpreadsheetApp.flush(); }
как мне уже перенести Ваш чекбокс в основную таблицу?
Выполнить в копии и в основной таблице команду верхнего меню "Расширения \ Apps Script" и перенести код копированием. Ну, а в самой основной таблице добавить строку выше первой и оформить ячейку A1 по аналогии с ячейкой A1 из копии.Gustav
Добрый день, дамы и господа! Прошу помочь, есть массив в таблице, сделал чекбоксы, написал правила по выделению строк, все работает, но вот проблемы с двойным условием по срытию строки. База по ведению заказов, решил сделать защиту от дурака: 1 этап - диапазон колонок с ограниченным доступом только руководителю отдела (реализовано) 2 этап - столбец "Состояние" при значении ЗАКРЫТО меняется цвет строки , уже нагляднее (реализовано) 3 этап - чекбокс (если значение строго "ЗАКРЫТО", то при нажатие на чекбокс строка скрывается
Перепробовал все доступные скрипты в форуме, такого потенциала нет, кто-нить сможет помочь, готов даже возмездно. Заранее благодарю
Добрый день, дамы и господа! Прошу помочь, есть массив в таблице, сделал чекбоксы, написал правила по выделению строк, все работает, но вот проблемы с двойным условием по срытию строки. База по ведению заказов, решил сделать защиту от дурака: 1 этап - диапазон колонок с ограниченным доступом только руководителю отдела (реализовано) 2 этап - столбец "Состояние" при значении ЗАКРЫТО меняется цвет строки , уже нагляднее (реализовано) 3 этап - чекбокс (если значение строго "ЗАКРЫТО", то при нажатие на чекбокс строка скрывается
Перепробовал все доступные скрипты в форуме, такого потенциала нет, кто-нить сможет помочь, готов даже возмездно. Заранее благодарюGAS9555
GAS9555, сложно представить Вашу схему в уме. Дайте хоть картинку какую-нибудь поясняющую, если уж нельзя мечтать о том, чтобы увидеть живую копию таблицы с доступом хотя бы на просмотр.
Где находится чек-бокс в этапе 3? На той же самой строке, которая будет скрыта? Если так, то как потом она будет открыта? Или он находится где-то сверху и фактически используется как командная кнопка, скрывающая все строки в списке со статусом "Закрыто"? Так может ее и сделать кнопкой, а не чек-боксом?
Видите, сколько вопросов. Давайте-давайте больше информации.
GAS9555, сложно представить Вашу схему в уме. Дайте хоть картинку какую-нибудь поясняющую, если уж нельзя мечтать о том, чтобы увидеть живую копию таблицы с доступом хотя бы на просмотр.
Где находится чек-бокс в этапе 3? На той же самой строке, которая будет скрыта? Если так, то как потом она будет открыта? Или он находится где-то сверху и фактически используется как командная кнопка, скрывающая все строки в списке со статусом "Закрыто"? Так может ее и сделать кнопкой, а не чек-боксом?
Видите, сколько вопросов. Давайте-давайте больше информации.Gustav
Где находится чек-бокс в этапе 3? На той же самой строке, которая будет скрыта? Если так, то как потом она будет открыта?
Спасибо большое за ответ, чекбокс в той же строке, руководитель выбирает из списка, что задача (поездка) ЗАКРЫТО, значит это уже отработано и можно скрыть строку. По поводу как потом открыть строки (очень редко), мы сейчас делаем это просто показать скрытые строки в том диапазоне примерных дат где была поездка, как мы называем "через костыли", но и это рабочий вариант.
Где находится чек-бокс в этапе 3? На той же самой строке, которая будет скрыта? Если так, то как потом она будет открыта?
Спасибо большое за ответ, чекбокс в той же строке, руководитель выбирает из списка, что задача (поездка) ЗАКРЫТО, значит это уже отработано и можно скрыть строку. По поводу как потом открыть строки (очень редко), мы сейчас делаем это просто показать скрытые строки в том диапазоне примерных дат где была поездка, как мы называем "через костыли", но и это рабочий вариант.
Так что в итоге должно быть событием скрытия строки? Появление слова "ЗАКРЫТО" в колонке "Состояние" или последующая установка "галки" в колонке "Комментарий"?
И у вас какие-то скрипты в таблице уже имеются? Можете показать здесь текст скрипта function onEdit, если он у вас уже присутствует?
Так что в итоге должно быть событием скрытия строки? Появление слова "ЗАКРЫТО" в колонке "Состояние" или последующая установка "галки" в колонке "Комментарий"?
И у вас какие-то скрипты в таблице уже имеются? Можете показать здесь текст скрипта function onEdit, если он у вас уже присутствует?Gustav