单元格值更改没有被捕获在vbamacros
我想捕获单元格A2
中的值更改时
我试过下面的代码,但它不工作
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Me.Range("H5")) Is Nothing Then Macro End Sub
我在macros里面有一个断点,但是它没有到达那里,我也尝试了下面,但没有运气
Private Sub Worksheet_Change(ByVal Target As Range) MsgBox (Target.Column) End Sub
Worksheet_Change
采用Range
types的单个参数Target
。 要检查你是否改变了你感兴趣的范围,你可以比较目标与该范围,在你的情况:
If Target = Range("A2") Then 'Do something End If
这可以让您将Range
对象与另一个Range
对象进行比较,只需最less量的操作即可。
并把它放在正确的表…:P
我find了原因
我把macros放在错误的地方,即在一个不同的模块
对于Private Sub Worksheet_Change
工作,我们需要把它放在需要检测的表单中,我遵循以下步骤
- 我们需要按ALT + F11去Excel VBA编辑器
- 双击包含我们的目标单元格的工作表,例如Sheet1
- 将下面的代码添加到工作表