2012-07-21 5 views
0

Можно создать дубликат:
How to protect cells in Excel but allow these to be modified by VBA scriptАвто запустите Бога Марко перед пользователем Марко?

любой шанс запустить определенный Marco [GodMarco] до того, как марко [UserMarco], который обстреливал пользователем?

СЛУЧАЙ I

У меня есть рабочий лист, которые имеют кнопку, чтобы сделать различные действия пользователя лотов.

У меня есть нормальные ячейки, позволяющие вводить данные пользователя и скрытые ячейки для выполнения грязной работы.

И поскольку пользователь может использовать [стрелку] или [вкладку] для обхода, я должен защитить лист.

И сделал их недоступными.

И теперь VBA остановился.

Я знаю, что могу добавлять коды vba для защиты и защиты снова и снова, но я думаю, что глупо добавлять их в каждую марку.

Так может быть что-то вроде GODMODE, что перед каждым маркой, запущенным пользователем, запустите GODMARCO1, а после пользователя marco запустите GODMARCO2?

[DONE, СПАСИБО.] СЛУЧАЙ II

Или мы можем получить некоторые клетки не выбирается пользователем, но выбирается с помощью VBA?

СПАСИБО ВАС ОЧЕНЬ.

+1

Кто такой Марко? :-) – Trace

+0

Почему глупо вызывать функцию для защиты/снятия защиты, если это требование? Я думаю, что многие это делают. С другой стороны, вы уверены, что вам нужны ячейки для грязной работы? Не то, чтобы с ней что-то не так. – Trace

+0

@ KimGysen: Хотя я согласен с вами в том, что если защита/снятие защиты - это требование, то это не «глупо» (и мы делаем это на некоторых электронных таблицах на работе), однако я не думаю, что здесь есть несколько маркеров , невидимый клиенту, является признаком того, что что-то не так. Иногда другого пути нет. – ApplePie

ответ

-1

Открыть окно VBA (Alt + F11). В окне свойств листа, который вы хотите защитить, вы увидите свойство «ScrollArea», которое ограничит область, которая может быть выбрана пользователем, и установите ее в любой диапазон, который вы хотите сделать доступным для ваших пользователей.

+0

Вы проверили [вопрос, который этот вопрос является дубликатом] (http://stackoverflow.com/questions/125449/how-to-protect-cells-in-excel-but-allow-these-to-be -modified-на-Vba-скрипт)? – GSerg

+0

Да. То, что я предлагаю, имеет тот же эффект +, что вы можете установить его, чтобы пользователь мог реально изменять * некоторые * ячейки, но не все. Это ближе к тому, о чем спрашивал ОП, чем к чему вы привязались. – ApplePie

+0

Это очень далеко от того, что хочет OP. Никто не использует ScrollArea для этого, потому что он выполняет другую цель. Попробуйте сделать каждую нечетную ячейку в третьей строке и каждой четной ячейке в редактируемой четвертой строке, а все остальные ячейки защищены от редактирования, только используя ScrollArea. Каждая ячейка в Excel имеет свойство 'Locked', которое по умолчанию равно True. Он представлен флажком в интерфейсе. Вы разрешаете редактирование некоторых ячеек, очищая этот флажок и защищая лист. Только ячейки с очищенным флажком будут доступны для редактирования. Это то, что делает OP, и это правильный путь. – GSerg

Смежные вопросы