Как защитить ячейки Excel от ручного ввода и вставки?

Программирование на Visual Basic for Applications
Gigahard
Бывалый
Бывалый
 
Сообщения: 253
Зарегистрирован: 24.07.2002 (Ср) 11:15
Откуда: Russia

Как защитить ячейки Excel от ручного ввода и вставки?

Сообщение Gigahard » 21.12.2005 (Ср) 11:06

Данные в некоторые ячейки таблицы вводятся только через диалоговые окна макроса. При этом вводе данные взаимодействуют со значениями нескольких ячеек и обновляют их. Нужно сделать "защиту от дурака" чтобы пользователь не "подправил" вручную значения некоторых ячеек.
Как это можно сделать и возможно ли вообще?

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 21.12.2005 (Ср) 11:13

Натурально, есть такая возможность. Защитить лист (Сервис - Защита - Защитить Лист), после чего пользователь не сможет изменять ячейки на листе. Можно установить пароль на защиту.

В макросе пишешь что-то вроде:

Код: Выделить всё
ActiveSheet.Unprotect *пароль*

*необходимые изменения*

ActiveSheet.Protect *пароль*


В качестве защиты от дурака - вполне сойдет.
Быть... или не быть. Вот. В чём вопрос?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.12.2005 (Ср) 11:17

Можно и проще.
Устанавливаешь защиту на UI, но оставляешь возможность редактирования ячеек кодом.
Lasciate ogni speranza, voi ch'entrate.

Gigahard
Бывалый
Бывалый
 
Сообщения: 253
Зарегистрирован: 24.07.2002 (Ср) 11:15
Откуда: Russia

Сообщение Gigahard » 21.12.2005 (Ср) 11:40

UI- это User Input? Глупый вопрос: А как на него установить защиту? :lol:
Вообще, нужно запретить пользовательский ввод только на паре колонок, а на остальных оставить.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 90

    TopList