2017-04-04 48 views
0
Private Sub Worksheet_Change(ByVal Target As Range) 

'Hvis du på noget tidspunkt tilføjer flere rows, så sig til. 
Application.EnableEvents = False 
If Not Intersect(Range("B27:B33"), Target) Is Nothing Then 
    Target.Offset(, 1).Formula = "=UDF_Now()" 
End If 
Application.EnableEvents = True 
End Sub 

每當單元格範圍(「B27:B33」)中的單元格更改時,我正在使用以下VBA代碼來執行我的用戶定義函數。ByVal使用公式的範圍。

這工作正常,只要我手動更改範圍內的單元格值。現在的問題是,我希望這個宏能夠在由公式組成的給定範圍內工作。每當我更改任何先例時,範圍的單元格值會更改,但我的宏不會執行。

我希望這與公式一起工作,以便在我更改先例並因此更改範圍內單元格的值時執行宏。

我希望這是有用的解釋。

回答

0

更改事件代碼在單元格內容因公式而發生更改時未觸發。 如果要在公式更改值時觸發事件,則可能會考慮Worksheet_Calculate以及更改事件代碼(如果還需要)。