2016-04-25 39 views
0

我試圖使用一個公式化的單元格「F42」來返回值爲1的條件滿足觸發一個事件。當條件滿足時,它開始循環。我需要能夠觸發這個事件高達3-4倍的一天。我猜我需要創建一些存儲的值。但不知道如何去做。下面是我有:worksheet_calculate被困在一個循環中

Private Sub Worksheet_Calculate() 
    On Error GoTo skipallthis 
    If Range("F42").Value > 0 Then 
     Application.EnableEvents = False 
     Call BuyConditions 
     Application.EnableEvents = True 
    End If 
skipallthis: 
End Sub 
+0

你是什麼意思「它開始循環」?我不確定你想要完成什麼。 – cxw

+0

當你完成了你需要你的VBA的工作之後,試着設置「F40返回到某個值<= 0的值,否則它的代碼會在下次重新計算時重新計算,因爲F40仍然> 0 –

+0

我是猜測你的子'BuyConditions'改變了'F42'中的值,在這種情況下,調用'Worksheet_Calculate' – BruceWayne

回答

0

私人小組Worksheet_Calculate() 對錯誤轉到skipallthis 如果範圍( 「F42」)值> 0,則 Application.EnableEvents =假 呼叫BuyConditions

'changing this value will prevent the buy conditions from being met 
    Sheet6.Range("L32").Value = 1 

    Application.EnableEvents = True 
End If 

skipallthis: End Sub