![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 24.02.2010
Сообщений: 25
|
![]()
Умельцы, помогите, пожалуйста,
каким образом можно реализовать следующую вещь: есть диапазон листа, ячейки которого должны быть все заполнены. Как поставить защиту, чтобы невозможно было сохранить книгу, пока все ячейки не заполнены? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Посмотрите пример во вложении.
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 16.06.2010
Сообщений: 1
|
![]() |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 15.12.2009
Сообщений: 1,448
|
![]()
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru https://yoomoney.ru: 41001419691823 |
![]() |
![]() |
![]() |
#5 |
Регистрация: 21.03.2011
Сообщений: 5
|
![]()
Подскажите как можно реализовать задачку: если в пустой ячейке А1 появляется содержимое, то пока не будут заполнены ячейки В1 и С1 файл невозможно будет сохранить. И так в диапазоне например А1:А5, В1:5: С1:С5 соответственно. Спасибо заранее если кто-то откликнется
|
![]() |
![]() |
![]() |
#6 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
Код:
Код:
Код:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
![]() Последний раз редактировалось EducatedFool; 23.03.2011 в 11:53. |
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 21.03.2011
Сообщений: 5
|
![]()
Спасибо, еще немного побеспокою Вас. В примере сохранение возможно, когда заполнена только одна ячейка (либо B1 либо С1) при условии что А1 заполнена.
Немножко уточню конечную цель - Нужно чтобы при вводе значения в А1 пользователю необходимо было заполнить как B1 так и С1, а иначе невозможно было бы сохраниться (лучше всего сообщением типа "Внесите необходимые данные") |
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 09.03.2011
Сообщений: 33
|
![]()
Может так:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Cancel = [NOT(ISBLANK(A1:A5))*OR(ISBLANK(B1:B 5);ISBLANK(C1:C5))] End Sub |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 09.03.2011
Сообщений: 33
|
![]()
почему-то у меня эксель не перехватывает данное событие, т.е. никакой реакции на save нет...
Вот моя модернизация данной задачи: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 'Sub Work() 'Set my_ran = Intersect(ActiveSheet.UsedRange, [a:a]) Set start_ran = ActiveSheet.UsedRange.Item(1).Curre ntRegion MsgBox "Your table is :" & vbCr & "[" & start_ran.Address & "]", vbInformation On Error GoTo Err_def Set blank_ran = start_ran.SpecialCells(xlCellTypeBl anks) If Not IsEmpty(blank_ran) Then With blank_ran .Select .Interior.ColorIndex = 6 .Interior.Pattern = xlSolid End With Cancel = 1 End If Exit Sub Err_def: MsgBox "There isn't blank cells in your region!", vbApplicationModal + vbExclamation With start_ran .Interior.ColorIndex = 0 End With Cancel = 0 End Sub ЗЫ: как обычная "sub" процедура работает, а как событие - не хочет. Что не так? |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сохранение книги Excel по названию ячейки и по пути ячейки | IFRSoff | Microsoft Office Excel | 16 | 07.06.2012 16:58 |
Как удалить из книги все подключения | Oooleg | Microsoft Office Excel | 3 | 06.02.2010 22:51 |
Как проверить все ли ячейки в StringGrid заполнены или нет ? | Ветас | Помощь студентам | 4 | 11.11.2009 22:54 |
Все висит пока выполняется процедура | XPAiN | Общие вопросы Delphi | 3 | 07.05.2008 15:03 |
как проверить все ли поля заполнены в СТРОКЕ ? | Максим-2 | Компоненты Delphi | 6 | 03.08.2007 22:31 |