工作表变更方法的问题; 无法改变

我试图让我的工作表中的以下代码工作。 目前它什么都不做。

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(False, False) = "j4" Then Application.EnableEvents = False If Target.Value = 0 Then Range("j5").Value = 1 Else Range("j5").Value = 2 End If Application.EnableEvents = True End If End Sub 

该代码放置在工作表中,macros安全性设置为“启用所有macros”。

我正在使用Excel 2010的64位版本。

感谢您提供的任何帮助。 詹姆士

这个问题是你的第一个If语句。 下面的代码应该适合你:

 Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("J4")) Is Nothing Then Application.EnableEvents = False If (Target = 0) Then Range("J5") = 1 Else Range("J5") = 2 End If Application.EnableEvents = True End If End Sub