工作表更改模糊的名称解决scheme?

我知道,一张工作表不能有两个独立的子命名工作表变化。 所以我删除了它。

我无法弄清楚我需要修改代码的修改。 会喜欢一些帮助。

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row = 10 And Target.Column = 121 And Target.Count = 1 Then Set Target = Range("range1") If Target <> "Calculate" Then Exit Sub Select Case Target.Value Case "Calculate" macro1 End Select End If ElseIf Target.Row = 10 And Target.Column = 123 And Target.Count = 1 Then Set Target = Range("range2") If Target <> "Calculate" Then Exit Sub Select Case Target.Value Case "Calculate" macro2 End Select End If End If End Sub 

像这样的东西应该为你工作。 请注意,不要试图重新分配Target参数:

 Private Sub Worksheet_Change(ByVal Target As Range) Dim rngCheck1 As Range Dim rngCheck2 As Range Set rngCheck1 = Intersect(Target, Me.Range("DQ10")) 'Row 10, Column 121 Set rngCheck2 = Intersect(Target, Me.Range("DS10")) 'Row 10, Column 123 Application.EnableEvents = False On Error GoTo CleanExit If Not rngCheck1 Is Nothing Then If Trim(LCase(rngCheck1.Value)) = "calculate" Then Call macro1 End If If Not rngCheck2 Is Nothing Then If Trim(LCase(rngCheck2.Value)) = "calculate" Then Call macro2 End If CleanExit: Application.EnableEvents = True End Sub