我有以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$N$16" Then
Sheet3.Unprotect ""
Call QuantityisActivated(Target)
Sheet3.Protect ""
End If
结束子
我如何为多个Target.Adress
使用相同的代码例如,我想在这里从N16到N30范围的单元格
Sub QuantityisActivated(Target)
MsgBox "This is a sample box"
End Sub
如果更改了范围内的单元格,则可以使用以下命令仅触发QuantityisActivated
:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, c As Range
Set rng = Intersect(Target, Range("N16:N30"))
If Not rng Is Nothing Then
'If you want it to run on each cell withing the range..
For Each c In rng.Cells
Call QuantityisActivated(c)
Next
'Or if you want it to run once, if any cell in range is affected
Call QuantityisActivated(rng)
End If
End Sub
我已经包含了处理受影响范围的两种可能的方法-要么在单元格级别上,要么作为整个范围,因为不清楚您更喜欢哪个问题。