Excel Randbetween - Обновить без Shift-F9 - PullRequest
0 голосов
/ 05 июня 2018

Мне нужно, чтобы рабочий лист Excel автоматически вычислял ранд между функциями без необходимости нажимать клавишу Shift f9 или вычислять рабочую книгу / рабочий лист.

Я собираюсь сделать это для создания некоторого анимированного условного форматирования, но функция ранда между ними не будет обновляться автоматически, даже если включен автоматический расчет.

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Поместите следующий код в стандартный модуль:

Public RunWhen As Double
Public Const cRunIntervalSeconds = 1
Public Const cRunWhat = "The_Sub"

Sub StartTimer()
RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds)
Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, _
     schedule:=True
End Sub

Sub The_Sub()
    Application.CalculateFullRebuild
    StartTimer
End Sub

Sub StopTimer()
   On Error Resume Next
   Application.OnTime earliesttime:=RunWhen, _
       procedure:=cRunWhat, schedule:=False
End Sub

Это реализует 1-секундный автоматический перерасчет:

  • , чтобы начать, запустить StartTimer
  • до остановки, запустить StopTimer

Адаптировано с Чип Пирсон

0 голосов
/ 05 июня 2018

Итак, я закончил выполнение сценария VB, чтобы автоматически что-то сделать с электронной таблицей, используя этот пример:

Стиль VBA Macro On Timer для запуска кода каждые заданное количество секунд, то есть 120 секунд

Это в основном привело к обновлению всех формул без каких-либо действий пользователя (ввода данных или расчета).

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