2015-12-10 1 views
0

Я пытаюсь изменить значение ячейки B1 на "FALSE" после 1:00 вечера.
Это не работает.Как изменить значение ячейки в определенное время в vba?

Sub MacroTimer() 
    If Hour(Now) > 13 Then [B1].Value = "FALSE" 
     ' Procedure to run timer sub. 
     Module1.MacroTest 
     ' Set last refresh time. 
     [E1].Value = Time 
     ' If cell B1 timer is true, run Macro again. 
     If [B1].Value = "True" Then 
      SetNextExecution 
     Else 
     Exit Sub 
    End If 
+0

Вы должны использовать [Application.OnTime] (http://stackoverflow.com/questions/17301512/how-to-use-application-ontime- to-call-a-macro-at-a-set-time-daily-without-ha) –

+3

немой вопрос: почему бы не поставить непосредственно в ячейку: '= IF (HOUR (NOW())> = 13," FALSE », "TRUE")'? –

+0

Вы слишком напугали его. – cybermonkey

ответ

0

Альтернативой макро решение:

Sub ctrl() 
    If Format(Hour(Now), "ss:dd") > Format("23:00", "ss:dd") Then 
     [B1].Value = "FALSE" 
    Else 
     [B1].Value = "TRUE" 
    End If 
End Sub 
+0

I Я действительно не уверен, но я думаю, что 23:00 - это не 1:00 вечера. –

Смежные вопросы