Worksheet_Calculate(). Помогите исправить код VBA Excel

программирование программы проблема excel VBA

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

Необходимо, чтобы и при изменении G29 срабатывали также макросы Макрос3 и Макрос4. С ячейкой G28 все работает, а вот дальше часть кода не срабатывает.
Ответы:
Соотношение If.... end If проверьте...
Для чего нужна переменная bInsert?
Может так подойдет?
Private Sub Worksheet_Calculate()
  Application.EnableEvents = False
   If [g28] = 1 Then Макрос1
   If [g28] <> 1 Then Макрос2
   If [g29] = 1 Then Макрос3
   If [g29] <> 1 Then Макрос4
  Application.EnableEvents = True
End Sub


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.