Запускать макрос в определенное время, когда установлен флажок (ручной расчет) - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь запустить макрос в Excel в определенное время, если установлен флажок. Работает как надо, единственная проблема в том что он работает только когда Для книги заданы автоматические вычисления, а для книги нужно установить ручные вычисления.

Вот код VBA, который я использую в этом файле: sheet1:

Private Sub Worksheet_Calculate()
Dim time_dt As Date
time_dt = Cells(1, 7)

If Range("C1").Value = "YES" Then
Application.OnTime TimeValue(time_dt), "FillFirstColumn"
End If

End Sub

и вот код модуля 1:

Sub FillFirstColumn()
Range("A1:A20").Value = "YES"
End Sub

Когда я нажимаю на флажок, ячейка D1 меняется с ЛОЖЬ на ИСТИНА. В ячейке C1 у меня есть эта формула = IF (D1 = TRUE, «YES», «NO»). И C1 не пересчитывает, если для рабочей книги не установлен автоматический режим.

Основываясь на совете из комментария ниже, я добавил этот код VBA на лист1:

Private Sub CheckBox1_Click()
ThisWorkbook.Worksheets("Sheet1").Cells(1, "C").Calculate
End Sub

но формула в C1 все еще не пересчитывается.

1 Ответ

0 голосов
/ 02 июля 2018

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

thisworkbook.worksheets("sheet1").cells(2, "B").calculate

Выше будет пересчитать одну ячейку (Лист1! B2) в книге, в которой выполнялась подпроцедура.

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