|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.07.2012, 16:25 | #1 |
Форумчанин
Регистрация: 25.05.2011
Сообщений: 249
|
активировать проверку данных с программно
привет всем))
подскажите пожалуйста. в экселе есть Проверка данных, которую мы ставим в какие-то ячейки. можно ли как-нибудь активировать/запустить эту проверку программно. ситуация: у меня данные вводятся с через юзерформ. соответственно пользователь работает с формой, а не непосредственно вводит данные в ячейки - поэтому проверки не срабатывают. надо, что бы форма внесла данные, а потом как-то запустить эту проверку. возможно ли так сделать? |
19.07.2012, 20:44 | #2 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
Может, записать макрорекордером нужные действия и вставить этот код в модуль формы?
|
19.07.2012, 21:32 | #3 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
Куда проще (и правильнее) выполнять все проверки ДО записи данных в ячейки. А ещё правильнее - вообще исключить возможность попытки записи неправильных данных. Я это делаю так: по событию изменения каждого текстового поля проверяется корректность ввода, и, если введено недопустимое значение, под полем становится видимым Label с красным цветом шрифта, уведомляющий об ошибке ввода. В то же время главная кнопка формы (типа «Добавить запись») становится недоступной (Enabled = FALSE). Да, много кода требуется, - зато ошибки исключены, и для пользователя - это вполне очевидное поведение формы ввода. |
|
23.07.2012, 14:42 | #4 | |
Форумчанин
Регистрация: 25.05.2011
Сообщений: 249
|
Цитата:
собственно проверки, которые ставятся на ячейки средствами эксель именно так и поступают (Данные - Проверка). я хотела схитрить и не писать весь код самой, а по событию изменения текстового поля запустить навешанную средствами эксель на ячейку проверку. вся загвоздка, как мне эту проверку активировать, т.к. в экселе она активируется, если вводишь что-то в ячейку руками и выполняешь переход в другую ячейку. когда же я ввожу данные посредством формы и выполняемого потом макроса, проверка не активируется |
|
23.07.2012, 22:50 | #5 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Представьте, что Вам это удалось - код формы записал что-то в ячейку, проверка сработала, условие не выполнено, Excel выдает соотв. сообщение и входит в режим редактирования ячейки.
Так как этот режим несовместим с работой макросов, форма закрывается. Вам это надо?
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
24.07.2012, 09:42 | #6 |
Форумчанин
Регистрация: 25.05.2011
Сообщений: 249
|
ммм, вот какая канитель...
а может можно обратно перехватить управление до того, как эксель войдет в режим редактирования ячейки? просто эксель такой инструмент проверки разработал. не хочется изобретать велосипед =ь |
24.07.2012, 09:59 | #7 | |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Цитата:
Правильно поставленная задача - три четверти решения.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Подключение базы данных программно | doniyor | БД в Delphi | 5 | 17.04.2012 09:41 |
Выполнить проверку на наличие данных посредством ADO или SQL | Blood_ghosT | БД в Delphi | 5 | 01.12.2011 11:17 |
Можно ли задавать и описывать массивы данных программно? | clever77 | Microsoft Office Excel | 17 | 24.04.2011 23:17 |
Как создать программно базу данных? | cargo29 | БД в Delphi | 5 | 20.01.2011 09:14 |
Как программно организовать проверку ввода данных? | parsn | Microsoft Office Excel | 2 | 07.01.2010 17:31 |