我是excel VBA编程的新手。我有下面的代码,我希望实现的是,如果在"E19:E23“范围内的任何单元格中进行了更改,Some_Function将运行。如果为Range()分配了一个单元格,它就会运行。但是,我如何使它工作,以便函数可以在任何范围内的任何单元格发生变化时运行(即"E19:E23")?我很感谢你的帮助。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Range("E19:E23").Address Then 'When Amount of loan is entered
Call Some_Function
End If
End Sub
谢谢
发布于 2019-12-13 12:14:03
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, Me.Range("E19:E23")) Is Nothing Then
'there's no intersecting range
Exit Sub
End If
'Target intersects E19:E23
DoSomething
End Sub
Private Sub DoSomething()
'...
End Sub
发布于 2019-12-13 11:59:19
Target
还具有Row
和Column
属性,因此您可以编写如下If语句:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 And Target.Row >= 18 And Target.Row <= 23 Then
MsgBox Target.Address
End If
End Sub
https://stackoverflow.com/questions/59315902
复制相似问题