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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.07.2019, 20:10   #1
aie.fineff
Пользователь
 
Регистрация: 02.07.2019
Сообщений: 25
По умолчанию автоматический запуск макроса при изменении значения в ячейке

Здравствуйте!

Подскажите, пожалуйста, что делать по следующему вопросу.

В модуле листа я прописал код:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("а1:а7")) Is Nothing Then
If Target = "да" Or Target = "нет" Or Target = "" Then
Application.Run "макрос1"
End If
End If

End Sub

Суть его в том, что если в ячейке диапазона "а1:а7" указывается либо "да" либо" нет" либо "" (удаляется вся информация в ней), автоматически запускается макрос "макрос1".

Возникает проблема - когда в этом диапазоне надо добавить или удалить строки, всплывает сообщение об ошибке "Run-time error '13'. Type mismatch". Учитывая, что добавление/удаление строк производится другим макросом, после этого сообщения данный макрос останавливается.

Скажите, пожалуйста, можно что-нибудь прописать в макросе, чтобы это сообщение не всплывало и макрос не останавливался (пока не будет полностью выполнен)?

Заранее большое спасибо!
aie.fineff вне форума Ответить с цитированием
Старый 08.07.2019, 21:13   #2
Igor1961
Пользователь
 
Регистрация: 05.10.2015
Сообщений: 39
По умолчанию

Добавьте перед первым "If" еще одно условие:
Код:
If Target.Cells.Count > 1 Then Exit Sub
вдруг поможет
Igor1961 вне форума Ответить с цитированием
Старый 08.07.2019, 21:13   #3
Igor1961
Пользователь
 
Регистрация: 05.10.2015
Сообщений: 39
По умолчанию

Добавьте перед первым "If" еще одно условие:
Код:
If Target.Cells.Count > 1 Then Exit Sub
вдруг поможет
Нет Вашего файла с примером, поэтому не совсем понятно что и как должно происходить. Сделал как понял (см.файл)
почему-то два сообщения получилось, хотя я не хотел...
Вложения
Тип файла: xls Вставить_удалить_строку.xls (41.5 Кб, 20 просмотров)

Последний раз редактировалось Igor1961; 09.07.2019 в 04:33. Причина: пояснение
Igor1961 вне форума Ответить с цитированием
Старый 08.07.2019, 22:42   #4
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Посмотрите применение
Код:
Application.EnableEvents = false / true
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 09.07.2019, 11:45   #5
aie.fineff
Пользователь
 
Регистрация: 02.07.2019
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Igor1961 Посмотреть сообщение
Добавьте перед первым "If" еще одно условие:
Код:
If Target.Cells.Count > 1 Then Exit Sub
вдруг поможет
Нет Вашего файла с примером, поэтому не совсем понятно что и как должно происходить. Сделал как понял (см.файл)
почему-то два сообщения получилось, хотя я не хотел...
Спасибо большое!!! Отлично, то, что надо!
aie.fineff вне форума Ответить с цитированием
Старый 09.07.2019, 11:46   #6
aie.fineff
Пользователь
 
Регистрация: 02.07.2019
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Посмотрите применение
Код:
Application.EnableEvents = false / true
Спасибо большое!!! Тоже классная штука! Буду использовать.
aie.fineff вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Примечание в ячейке при изменении значения в ячейке другого листа FoxRiver Microsoft Office Excel 4 12.07.2013 08:46
Автоматический запуск макроса с таймаутом 123XYZ Microsoft Office Excel 10 16.03.2011 12:26
запуск макроса при изменении ячейки Бонни Microsoft Office Excel 2 26.04.2010 11:44
Автоматический запуск макроса АлёнаP Microsoft Office Excel 4 28.03.2010 12:55
Автоматический запуск макроса Len@ Microsoft Office Excel 6 23.07.2008 12:05