0

当名为“RE_1”的单元格发生更改(即它们在单元格中标记一个 X)时,我试图调用一个名为“RE_environmental”的宏。我已经尝试了几种不同的代码变体,包括这两个,但没有任何反应:

[如果我使用确切的单元格位置而不是命名单元格,则第一个代码确实有效。--> $E$62]

     Private Sub Worksheet_Change(ByVal Target As Range)

     If Target.Address = "RE_1" Then

     Call RE_environmental

     End If

     End Sub

     Private Sub Worksheet_Change(ByVal Target As Range)

     If Range("Name").Select = "RE_1" Then

     Call RE_environmental

     End If

     End Sub

--感谢高级版,如果您需要更多信息,请告诉我。

4

2 回答 2

1

使用你的第一个答案,但做这个小改动:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = Range("RE_1").Address Then

        Call RE_environmental

    End If

End Sub

简单的语法错误!

编辑:要在单元格为空后停止 RE_environmental 运行,只要 RE_environmental 正在清空“RE_1”,请将 RE_environmental 中的代码放在 do-while 中(不是 isempty(Range("RE_1")))。在 RE_environmental 运行时,用户将无法编辑单元格。

于 2014-04-01T17:44:11.100 回答
1

如果Target始终是单单元格范围,您可以使用这个:

If Target.Address = Range("RE_1").Address Then
    Call RE_environmental
End If

如果Target可以是多单元格范围使用这个:

If Not Intersect(Target, Range("RE_1")) Is Nothing Then
    Call RE_environmental
End If
于 2014-04-01T17:22:45.090 回答