Автоматический запуск макроса Excel VBA при изменении значения ячейки - PullRequest
1 голос
/ 21 марта 2019

Мне нужен макрос, который вызывает другой макрос при изменении значения в ячейке A1.В данный момент я использую следующий код, но он, похоже, вызывает подстаду «pageupdate» каждый раз, когда страница пересчитывается, а не просто когда значение в A1 фактически изменяется с 0 на 1.

Есть ли эта проблема?Обратите внимание на любого, кто понимает подтип «Worksheet_Calculate» или логику оператора if.

Private Sub Worksheet_Calculate()
    '|-------------------------------------------------|
    '|        Run Pageupdate                           |
    '|-------------------------------------------------|

    'If cell A1 recalculates affected by a change in the sheet/s, then this macro runs the 'PageUpdate' Macro.
    'The point of this is to prevent the PageUpdate running when it doesn't need to.

    Static OldVal As Variant
    If Range("A1").Value <> OldVal Then
        OldVal = Range("A1").Value
        Call PageUpdate
    End If
End Sub

1 Ответ

0 голосов
/ 21 марта 2019
  • Добавьте следующую подпрограмму в качестве макроса, прикрепленного к листу, на который вы хотите повлиять обновлением, и вставьте свой код в этот макрос. Найти решение можно здесь*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...