![]() |
|
Модераторы: mihanik |
![]()
|
|
| Диас |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 11.6.2006 Репутация: нет Всего: нет |
Здравствуйте. Такая ситуация. Есть файл Excel. Как сделать чтоб пользователь не смог сохранить его, если он забыл внести какие-либо данные?
|
|||
|
||||
| ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: нет Всего: 95 |
Это сообщение отредактировал(а) ama_kid - 12.5.2008, 14:13 -------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
| Диас |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 11.6.2006 Репутация: нет Всего: нет |
А можно по-подробнее?
|
|||
|
||||
| ama_kid |
|
|||
![]() АСУТП-кодер ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1460 Регистрация: 5.3.2007 Где: Москва Репутация: нет Всего: 95 |
можно... Нажимаешь Alt-F11 (Сервис->Макрос->Редактор VB)... Попадаешь в редактор кода, тыкаешь в "Эта книга" - открывается окно кода. Далее в верхнем левом выпадающем списке выбираешь Workbook, а в правом - BeforeSave. Редактор кода генерит шаблон, а ты прописываешь туда все необходимые условия и не забывай присваивать параметр Cancel=true, что будет означать запрет сохранения документа -------------------- самурай без меча подобен самураю с мечом, но только без меча |
|||
|
||||
| Диас |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 11.6.2006 Репутация: нет Всего: нет |
условие нужно такое: ЕСЛИ (А1 не пусто) И ((А2 пусто) ИЛИ (А2=0)) ТО не дать сохранить.
Причем в файле уже куча записей, а проверять нужно только те котроые добавили только что. Ну или все придется проверять Добавлено через 12 минут и 46 секунд Благодарю. Ну и совсем детский вопрос, аж стыдно. Как обращаться к ячейкам? |
|||
|
||||
| Диас |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 124 Регистрация: 11.6.2006 Репутация: нет Всего: нет |
Большое спасибо! Разобрался!
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim i As Integer For i = 1 To Лист1.UsedRange.Rows.Count If Лист1.Range("A" & i).Value = "123" And Лист1.Range("B" & i).Value = "123" Then Cancel = True Next i End Sub Это сообщение отредактировал(а) Диас - 12.5.2008, 15:13 |
|||
|
||||
| mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 5 Всего: 109 |
Диас, молодец, что выложил решение.
Но не забывай в таких случаях помечать вопросы решёнными!!! |
|||
|
||||
![]()
|
| Правила форума "Работа с MS Office" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще!
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Работа с MS Office | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |