|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.01.2012, 20:56 | #1 |
Форумчанин
Регистрация: 21.10.2011
Сообщений: 433
|
Срабатывание макросов в зависимости изменений в 2-х диапазонах
Тут вот такое дело. На листе отслеживаются изменения диапазона и, в зависимости от внесенного в ячейку значения (от 1 до 3), срабатывают макросы. Код такой:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B4:B500")) Is Nothing Then If Target = "1" Then Call Макрос_11 Call SendmailTheBat Call Макрос_12 Call Макрос_13 Call Макрос_14 Call Макрос_15 ElseIf Target = "2" Then Call Макрос_21 Call SendmailTheBat Call Макрос_22 Call Макрос_23 Call Макрос_24 Call Макрос_25 ElseIf Target = "3" Then Call Макрос_31 Call SendmailTheBat Call Макрос_32 Call Макрос_33 Call Макрос_34 Call Макрос_35 End If End If End Sub Попытаюсь сформулировать проблемку. Необходимо отслеживать изменения не в одном диапазоне, а в двух (второй "D4:D500")) и разложить срабатывания макросов. Первые два срабатывают при внесении в диапазон B4:B500 значений 1, 2 или 3, остальные срабатывают при внесении в диапазон D4:D500 любого числа (от 1 до 5000 условно). НО срабатывают в порядке, зависящем от значения, внесенного в диапазон B4:B500. То есть, если в ячейке диапазона B4:B500 стоит 2, то при изменении ячейки той же строки диапазона D4:D500 сработают макросы 22, 23, 24, 25. Фуух. У меня такое впечатление, что я дольше писал тему, чем решать эту задачку. Направьте меня в нужное русло. |
06.01.2012, 21:53 | #2 |
Форумчанин
Регистрация: 25.04.2010
Сообщений: 616
|
Во
Код:
Последний раз редактировалось nilem; 06.01.2012 в 21:55. |
06.01.2012, 23:13 | #3 |
Форумчанин
Регистрация: 21.10.2011
Сообщений: 433
|
Подработал под каждое введенное в столбец В значение, срабатывает. Спасибо за помощь. С Рождеством Христовым!!!
|
06.01.2012, 23:24 | #4 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Что-то мне подсказывает, что ваши макросы с аналогичыним именами (Макрос_11, Макрос_21, Макрос_31) очень похожи друг на друга.
Вы бы выложили весь код (файл Excel со всеми макросами) - мы бы подсказали, как сократить объём кода в несколько раз (в макрос можно передавать параметры, а вы, судя по коду, этим не пользуетесь) |
07.01.2012, 21:07 | #5 |
Форумчанин
Регистрация: 21.10.2011
Сообщений: 433
|
Все правильно. Они практически идентичны. Завтра выложу коды и спрошу совета. Спасибо. И с Рождеством Христовым всех форумчан!!!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сложить значения в диапазонах | Vja4eslav | Microsoft Office Excel | 10 | 22.12.2011 12:51 |
сложить значения в диапазонах | Vja4eslav | Microsoft Office Excel | 1 | 20.12.2011 17:04 |
счёт значений в диапазонах | vkharin | Microsoft Office Excel | 1 | 14.02.2011 00:44 |
Подсчет ячеек в именнованных диапазонах | kinogruppa | Microsoft Office Excel | 4 | 14.08.2010 11:49 |
Автоматический запуск макросов с листа на котором указан перечень макросов с параметрами и без | Neoli | Microsoft Office Excel | 2 | 09.03.2009 14:31 |