Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Обязательное заполнение всех нужных ячеек / 8 сообщений из 8, страница 1 из 1
08.11.2007, 22:01
    #34926514
LeCrunch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязательное заполнение всех нужных ячеек
На листе существуют ячейки (в т.ч. объединенные), для удобства помеченные цветом, которые должен заполнить пользователь.
Подскажите, как проще всего обеспечить обязательность заполнения всех их, без пропусков .
Если без макросов не обойтись, то как осуществлять проверку, например, перед закрытием с сохранением файла?
...
Рейтинг: 0 / 0
08.11.2007, 22:34
    #34926555
Pavel55
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязательное заполнение всех нужных ячеек
Вот так можно перед закрытием книги проверить, ввёл ли пользователь что-нибудь в ячейку А1.

Если ячейка А1 пустая, то выдать сообщение и не закрывать книгу!

Код: plaintext
1.
2.
3.
4.
5.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If IsEmpty(Range("A1")) Then
        MsgBox "Забыли заполнить ячейку А1!", vbExclamation, "Ошибка"
    End If
    Cancel = True
End Sub


P.S. Этот код надо вставить в модуль ЭтаКнига (ThisWorkbook) Alt+F11
...
Рейтинг: 0 / 0
08.11.2007, 22:47
    #34926569
LeCrunch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязательное заполнение всех нужных ячеек
А всёж без VBA (типа Данные - Проверка) никак не получится?

Если нет, то как оптимально реализовать в коде проверку условия для пары десятков не соприкасающихся между собой ячеек?
...
Рейтинг: 0 / 0
08.11.2007, 23:48
    #34926623
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязательное заполнение всех нужных ячеек
LeCrunchЕсли нет, то как оптимально реализовать в коде проверку условия для пары десятков не соприкасающихся между собой ячеек?
Ну например можно сделать именованный диапазон "Should_Be_Filled" и перечислить в нем все обязательные ячейки. Ну а потом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    dim c as range
    foreach c in range("Should_Be_Filled").cells
        If IsEmpty(c) Then
            MsgBox "Забыли заполнить ячейку " & c.Address & "!", vbExclamation, "Ошибка"
            Cancel = True
            exit sub
        End If
    next
    Cancel = false
End Sub
...
Рейтинг: 0 / 0
09.11.2007, 00:03
    #34926637
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязательное заполнение всех нужных ячеек
если не обязательно прерывать пользователя а просто достаточно настойчиво его информировать, то можно через условное форматирование подсвечивать каким-нибуть ядовитым цветом незаполненые ячейки.
...
Рейтинг: 0 / 0
09.11.2007, 09:19
    #34926911
Тиона
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязательное заполнение всех нужных ячеек
А как такого же добиться в Access? Есть таблица, в которую заносятся заявки, в зависимости от типа заявки заполняются тот или иной набор полей. Ввод данных осуществляется через соответсвующие формы, уже содержащие необходимые наборы полей, форм несколько - зависит от типа заявок, чтобы пользователям было удобно, а табличка-то одна! Просто наш начальник хочет, чтобы если не все поля заполнены, то заявку блокировать. Каким образом блокировать в Accesse запись и что с нею заблокированной делать я вообще не представляю. Может у кого-нить было что-нить похожее? Просто очень громозкую БД рисуем со множеством АРМов, от нас требуется максимально обработать все ошибки, чтобы юзеры все правильно делали. Хелп! Помогите советом!!!
...
Рейтинг: 0 / 0
09.11.2007, 09:22
    #34926920
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязательное заполнение всех нужных ячеек
ТионаА как такого же добиться в Access? Есть таблица, в которую заносятся заявки, в зависимости от типа заявки заполняются тот или иной набор полей. Ввод данных осуществляется через соответсвующие формы, уже содержащие необходимые наборы полей, форм несколько - зависит от типа заявок, чтобы пользователям было удобно, а табличка-то одна! Просто наш начальник хочет, чтобы если не все поля заполнены, то заявку блокировать. Каким образом блокировать в Accesse запись и что с нею заблокированной делать я вообще не представляю. Может у кого-нить было что-нить похожее? Просто очень громозкую БД рисуем со множеством АРМов, от нас требуется максимально обработать все ошибки, чтобы юзеры все правильно делали. Хелп! Помогите советом!!!

На форуме есть отдельный раздел по Access, там вам быстрее помогут.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
07.12.2017, 16:21
    #39566033
Dream_group
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Обязательное заполнение всех нужных ячеек
Pavel55, подскажите, как обеспечить обязательность заполнения ячеек именно на определенном листе на перед закрытием с сохранением файла?
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Обязательное заполнение всех нужных ячеек / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]