ByVal,其中包含使用公式的范围。

时间:2017-04-04 08:46:35

标签: vba

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

只要Range(“B27:B33”)中的单元格值发生变化,我就会使用以下VBA代码来执行用户定义的函数。

只要我手动更改范围中的单元格值,这样就可以正常工作。现在的问题是我希望这个宏适用于由公式组成的给定范围。每当我更改任何先例时,范围的单元格值都会更改,但我的宏不会执行。

我希望这可以使用公式,这样只要我改变一个先例就会执行宏,从而改变范围内单元格的值。

我希望这是有用的解释。

1 个答案:

答案 0 :(得分:0)

由于公式而更改单元格内容时,不会触发更改事件代码。 如果您想在公式更改值时触发事件,您可以考虑 Worksheet_Calculate 以及更改事件代码(如果还需要)。