我真的不确定这段代码的问题是什么,或者我的工作表格式是否有问题但是当D8
的值发生变化时,以下代码不会自动运行:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$D$8" Then
Toggle_Rows
End If
End Sub
是形成问题还是代码问题?
答案 0 :(得分:1)
看到您的问题后Here
我希望你试试这个:
在工作簿中转到您希望更改D8值并运行代码的工作表。 在Excel的底部,右键单击带有该工作表名称的选项卡,然后选择查看代码
在代码窗口的顶部,您会看到“(常规)”一词。
点击下拉列表并选择“工作表”,您应该看到一个名为
的新子Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
您可以删除这些行。现在,在您选择工作表的右侧,另一个下拉列表,应该说“SelectionChange”单击,然后从下拉列表中选择“更改”。你应该看到另一个新的子
Private Sub Worksheet_Change(ByVal Target As Range)
End Sub
在这两行之间是你想要的地方
If Target.Address = "$D$8" Then
Toggle_Rows
End If
答案 1 :(得分:0)
不是答案,而是一种调试方式。因为这对我来说都是手动和通过代码。
尝试使用以下方法之一来查看您获得的值:
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Address
Debug.Print Target.Address
If Target.Address = "$D$8" Then
Toggle_Rows
End If
End Sub