Страницы: 1
RSS
Не вставляется выпадающий список на защищенном листе (UserInterfaceOnly:=True)
 
Всем привет!

Есть файлик (пример), в котором добавляются строки с выпадающим списком в одном из столбцов.
На листе без защиты все вставляется нормально. Если включить защиту листа (со свойством UserInterfaceOnly:=True) даже если непосредственно перед вставкой строки, компилятор выдает ошибку именно в моменте вставки выпадающего списка.  Выпадающий список берет аргументом данные из таблицы, которая на другой странице.

Снимать каждый раз защиту перед запуском не очень удобно, т.к. этот макрос вызывается из других макросов.
Подскажите, почему защита мешает встать списку?
 
Цитата
Александр: почему защита мешает встать списку?
возможно, потому что это чисто пользовательский инструмент для работы руками (но это не точно)

Цитата
Александр: Снимать каждый раз защиту перед запуском не очень удобно, т.к. этот макрос вызывается из других макросов
что сложного? Вынесите в отдельную процедуру и вызывайте её одной строкой
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
:(  Да макрос очень большой, там столбцов два десятка, и таких столбцов тоже несколько. И таких листов в документе десяток разных, запаришься тут везде снятие/защиту расставлять..

А вообще интересно, почему это свойство (UserInterfaceOnly:=True) не дает сделать, это же просто валидация. Вот засел интерес и все тут)
 
Этот вопрос задавался 7 лет назад на stackoverflow.com.  Народ ответил: снимайте защиту с листа и затем вновь устанавливайте (хотя это и не быстро).

В Вашем случае, вероятно, этих сложностей можно избежать простым копированием ячейки:
Код
Range("C" & (therow - 1)).Copy Range("C" & therow)
Изменено: sokol92 - 13.01.2022 17:24:30
Владимир
 
Спасибо за ссылку, придется смириться и жить с этим) А копировать можно, если есть откуда - для первой строки создавать какую-то исходную ячейку для копирования. Вторую строку с первой копировать и тд.
Страницы: 1
Наверх