Как исправить код Worksheet_Calculate ()

Автор Алексей Змётный, 23.12.2013, 14:45

« назад - далее »

Алексей Змётный

Помогите, пожлста. Необходимо, чтобы и при изменении ячейки A2 на листе Лист2 срабатывали также макросы Макрос3 и Макрос4. С ячейкой A1 вроде все работает, а вот дальше часть кода не срабатывает.


Private Sub Worksheet_Calculate()
Application.EnableEvents = False
If [A1] = "1" Then
If bInsert = False Then Макрос1: bInsert = True
If [A1] <> "1" Then
If bInsert = False Then Макрос2: bInsert = True
End If
End If
If [A2] = "1" Then
If bInsert = False Then Макрос3: bInsert = True
If [A2] <> "1" Then
If bInsert = False Then Макрос4: bInsert = True
End If
End If
Application.EnableEvents = True
End Sub

kuklp

Алексей Змётный, читаем правила форума и выкладываем файл-пример. Оформляйте код тегами, значок # на панели инструментов.
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

Wasilic

#2
Цитата: Алексей Змётный от 23.12.2013, 14:45
чтобы и при изменении ячейки A2 на листе Лист2 срабатывали также макросы Макрос3 и Макрос4.
Глядя на код, пока А1=1,  делайте в А2 что хотите, макросы 3 и 4 не сработают.
А вообще то, не понятно, что надо с такими условиями? Хотя правильно их записать надо бы так.
  If [A1] = "1" Then
      If bInsert = False Then Макрос1: bInsert = True
  Else
      If bInsert = False Then Макрос2: bInsert = True
  End If
  If [A2] = "1" Then
      If bInsert = False Then Макрос3: bInsert = True
  Else
      If bInsert = False Then Макрос4: bInsert = True
  End If

Но, в таком случае, макросы 3 и 4, вообще никогда не сработают.
Может и я на что сгожусь ... Если сгодился, можете меня по+благодарить+.