Новости:

Интересные и полезные статьи по работе с Excel и VBA
можно найти в разделе ХИТРОСТИ

Главное меню

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.

Просмотр сообщений

Сообщения - All3xus

#1
Цитата: Дмитрий Щербаков(The_Prist) от 02.11.2023, 14:42:16
Изменение формулой не отслеживается. Но если у Вас флажки - они же завязаны на ячейки. Вот их и отслеживайте. Т.е. столбец В, а не D.
Т.е. по событию столбца В запускаете скрипт, а далее уже просматриваете все нужные столбцы и их ячейки на предмет выполнения условия.


Не разбираюсь в кодинге.
Как это поправить в самом коде?
#2
Доброго дня.
Есть таблица с флажками и формула с условием, если флажек = ИСТИНА, то ячейка принимает значение другой ячейки с другого листа.
Т.е. на листе должны отображаться только те столбцы, которые были выбраны (поставлены флажки), остальные нужно скрыть.

Скрипт ниже работает только если ячейка пустая, но т.к. у нас стоит формула, скрипт не работает.

Может возможно привязать скрипт к флажку, есть B2 = ИСТИНА, то столбец 4 - скрыть, к примеру :o

function onEdit(e) {  
 const specificSheet = "Лист2"   // имя листа, на котором будет отслеживание изменения значений ячеек  
 const specificCellColumn = 4    // номер столбца для отслеживания изменений  
 
 let sheetCheck = (e.range.getSheet().getName() == specificSheet)  
 let cellCheck = (e.range.getColumn() == specificCellColumn)  
 
 if (!(sheetCheck && cellCheck)) {  
   return  
 }  
 else {  
   var cellVal = e.range.getValue();  
   if (cellVal == "") {  
     e.range.getSheet().hideColumns(e.range.getColumn());}  
 }  
}
Яндекс.Метрика Рейтинг@Mail.ru