Функция Excel VB слишком много времени - PullRequest
0 голосов
/ 02 сентября 2018

Я новая функция записи VB. У меня есть одна функция для отображения сообщения. и у меня есть sub, которые вызывают эти функции.

   Function refreshSheetData()
      MsgBox "Function call..."
   End Function

   Private Sub Worksheet_Change(ByVal Target As Range)
      If (Target.Address = "$B$3") Then
          refreshSheetData
      End If
   End Sub

При изменении значения в ячейке B3 они запускаются, чтобы много раз отображать сообщение. Я должен нажать кнопку ОК во всплывающем сообщении много раз, прежде чем оно закроется. Можно ли как-нибудь остановить вызов этой функции много раз.

спасибо

1 Ответ

0 голосов
/ 02 сентября 2018

Как сказал выключить События

   Private Sub Worksheet_Change(ByVal Target As Range)
      On Error goto EH
      Application.EnableEvents = False
      If (Target.Address = "$B$3") Then
          refreshSheetData
      End If
   EH:
      Application.EnableEvents = True
   End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...