Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2010, 17:34   #1
tns-ka
Пользователь
 
Регистрация: 08.12.2009
Сообщений: 24
Вопрос Как оставить только заливку ячеек?

Здравствуйте!
Проблема такая:
Мне необходимо сделать документ в Excel, в котором пользователи могут выполнять единственное действие - закрашивать ячейки без возможности изменения их содержимого (размеры столбцов, строк - всё должно быть заблокировано). Не могли бы вы, уважаемые форумчане, подсказать, как это сделать?
tns-ka вне форума Ответить с цитированием
Старый 08.04.2010, 20:29   #2
Dophin
Форумчанин
 
Аватар для Dophin
 
Регистрация: 13.01.2010
Сообщений: 410
По умолчанию

защита листа - выбрать нужные галки
Dophin вне форума Ответить с цитированием
Старый 08.04.2010, 23:18   #3
tns-ka
Пользователь
 
Регистрация: 08.12.2009
Сообщений: 24
По умолчанию

Возможно, я не до конца раскрыл суть вопроса. Нужно, чтобы всё было заблокировано - и параметры ячеек, строк и столбцов, и параметры текста в защищенных ячейках. Если оставить в настройках защиты листа только две первых галки (выделение заблокированных и незаблокированных ячеек), то залить даже ту ячейку, в свойствах которой снята галка "защищаемая ячейка", невозможно.
tns-ka вне форума Ответить с цитированием
Старый 09.04.2010, 04:34   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите вложение. При открытии файла лист будет защищен (пароль "abcd"). Для выполнения заливки нужно выделить требуемые ячейки и нажать правую кнопку мыши. В контекстном меню появится новый пункт "Заливка". Дальнейшие комментарии, я думаю, не требуются.
Вложения
Тип файла: rar Заливка при защите.rar (17.3 Кб, 16 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 09.04.2010, 06:23   #5
tns-ka
Пользователь
 
Регистрация: 08.12.2009
Сообщений: 24
По умолчанию

Огромное спасибо! Очень выручили!
А для того, чтобы строку целиком заливать, нужно просто добавить для неё такой же пункт контекстного меню?
tns-ka вне форума Ответить с цитированием
Старый 09.04.2010, 06:59   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Внёс небольшие изменения в код от SAS888

Код:
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    For Each cb In Array("Cell", "Row", "Column")
        Application.CommandBars(cb).Reset
        Application.CommandBars(cb).Controls(1).BeginGroup = True
        Add_Control cb, 1, 7894, "Colors", "Заливка", True
    Next
End Sub
Теперь опция "Заливка" доступна не только для ячеек, но и для строк и столбцов.

Проверяйте: http://excelvba.ru/XL_Files/Sample__...0__8-59-52.zip

PS: При желании можно убрать из контекстного меню все остальные пункты (оставив только заливку)
а также скрыть все панели инструментов в Excel.

Последний раз редактировалось EducatedFool; 09.04.2010 в 07:07.
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как оставить только нужные строки? Palantir Microsoft Office Excel 6 18.03.2010 12:36
Как оставить редактирование ячейки? Andrei_IW Общие вопросы .NET 5 29.11.2009 22:56
В яцейках есть x=1 x=2 Как убрать x= и оставить только значения Володя Минск Microsoft Office Excel 2 29.10.2008 04:57
В ячейках есть x=1 x=2 Как убрать x= и оставить только значения Володя Минск Microsoft Office Excel 2 27.10.2008 20:54
Как округлять числа до целых и как оставить два знака после запятой. bles Помощь студентам 9 19.02.2008 21:53