Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Выполнение разных макросов по изменению значений ячеек - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выполнение разных макросов по изменению значений ячеек (Макросы Sub)
Выполнение разных макросов по изменению значений ячеек
HeavyHard Дата: Воскресенье, 29.12.2013, 19:16 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток! Прошу помощи... Выложил книгу-пример, в ней необходимо чтобы при изменении на листе "Лист1" ячеек А1, А2 и А3 запускались соответствующие макросы (изменялись соответственно ячейки А1, А2 и А3 на листе "Лист2").
Необходимо поправить код:[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)   
Application.EnableEvents = False   
If Not Intersect(Range("A1,A2,A3"), Target) Is Nothing Then   
     If [A1] = "разновес" Then Макрос1   
     If [A1] <> "разновес" Then Макрос2   
     If [A2] = "разновес" Then Макрос3   
     If [A2] <> "разновес" Then Макрос4   
     If [A3] = "разновес" Then Макрос5   
     If [A3] <> "разновес" Then Макрос6   
End If   
Application.EnableEvents = True   
End Sub  
[/vba]
К сообщению приложен файл: 5305742.xlsm (16.7 Kb)


Из всего, что я потерял, мне больше всего не хватает мозгов!
 
Ответить
СообщениеДоброго времени суток! Прошу помощи... Выложил книгу-пример, в ней необходимо чтобы при изменении на листе "Лист1" ячеек А1, А2 и А3 запускались соответствующие макросы (изменялись соответственно ячейки А1, А2 и А3 на листе "Лист2").
Необходимо поправить код:[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)   
Application.EnableEvents = False   
If Not Intersect(Range("A1,A2,A3"), Target) Is Nothing Then   
     If [A1] = "разновес" Then Макрос1   
     If [A1] <> "разновес" Then Макрос2   
     If [A2] = "разновес" Then Макрос3   
     If [A2] <> "разновес" Then Макрос4   
     If [A3] = "разновес" Then Макрос5   
     If [A3] <> "разновес" Then Макрос6   
End If   
Application.EnableEvents = True   
End Sub  
[/vba]

Автор - HeavyHard
Дата добавления - 29.12.2013 в 19:16
Serge_007 Дата: Воскресенье, 29.12.2013, 19:24 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2748 ±
Замечаний: ±

Excel 2016
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Range("A1,A2,A3"), Target) Is Nothing Then
     If [A1] = "разновес" Then Call Макрос1
     If [A1] <> "разновес" Then Call Макрос2
     If [A2] = "разновес" Then Call Макрос3
     If [A2] <> "разновес" Then Call Макрос4
     If [A3] = "разновес" Then Call Макрос5
     If [A3] <> "разновес" Then Call Макрос6
End If
Application.EnableEvents = True
End Sub
[/vba]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Range("A1,A2,A3"), Target) Is Nothing Then
     If [A1] = "разновес" Then Call Макрос1
     If [A1] <> "разновес" Then Call Макрос2
     If [A2] = "разновес" Then Call Макрос3
     If [A2] <> "разновес" Then Call Макрос4
     If [A3] = "разновес" Then Call Макрос5
     If [A3] <> "разновес" Then Call Макрос6
End If
Application.EnableEvents = True
End Sub
[/vba]

Автор - Serge_007
Дата добавления - 29.12.2013 в 19:24
HeavyHard Дата: Воскресенье, 29.12.2013, 20:42 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Serge_007,
Все хорошо, только начинает пересчитывать все указанные макросы. Но если их больше, и они сложней чем в моем "примере", тогда excel долго может их всех обсчитывать... Как сделать так, чтобы выполнялся только один "нужный" макрос?


Из всего, что я потерял, мне больше всего не хватает мозгов!
 
Ответить
СообщениеSerge_007,
Все хорошо, только начинает пересчитывать все указанные макросы. Но если их больше, и они сложней чем в моем "примере", тогда excel долго может их всех обсчитывать... Как сделать так, чтобы выполнялся только один "нужный" макрос?

Автор - HeavyHard
Дата добавления - 29.12.2013 в 20:42
SergeyKorotun Дата: Воскресенье, 29.12.2013, 20:47 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Range("A1"), Target) Is Nothing Then
     If [A1] = "разновес" Then Call Макрос1
     If [A1] <> "разновес" Then Call Макрос2
End If
If Not Intersect(Range("A2"), Target) Is Nothing Then
     If [A2] = "разновес" Then Call Макрос3
     If [A2] <> "разновес" Then Call Макрос4
End If
If Not Intersect(Range("A3"), Target) Is Nothing Then
     If [A3] = "разновес" Then Call Макрос5
     If [A3] <> "разновес" Then Call Макрос6
End If
Application.EnableEvents = True
End Sub
[/vba]
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Range("A1"), Target) Is Nothing Then
     If [A1] = "разновес" Then Call Макрос1
     If [A1] <> "разновес" Then Call Макрос2
End If
If Not Intersect(Range("A2"), Target) Is Nothing Then
     If [A2] = "разновес" Then Call Макрос3
     If [A2] <> "разновес" Then Call Макрос4
End If
If Not Intersect(Range("A3"), Target) Is Nothing Then
     If [A3] = "разновес" Then Call Макрос5
     If [A3] <> "разновес" Then Call Макрос6
End If
Application.EnableEvents = True
End Sub
[/vba]

Автор - SergeyKorotun
Дата добавления - 29.12.2013 в 20:47
HeavyHard Дата: Воскресенье, 29.12.2013, 21:09 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
SergeyKorotun, спасибо большое! Все работает!


Из всего, что я потерял, мне больше всего не хватает мозгов!
 
Ответить
СообщениеSergeyKorotun, спасибо большое! Все работает!

Автор - HeavyHard
Дата добавления - 29.12.2013 в 21:09
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выполнение разных макросов по изменению значений ячеек (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!