我不知道我哪里出错了.脚本可以工作,但它不会自动运行,除非我进入VBA应用程序并单击脚本运行的播放按钮.有人可以帮忙吗?
Private Sub HideChart1()
If ActiveWorkbook.Sheets("User Interface").Range("F8") = "Yes" Then
ActiveWorkbook.Sheets("Sheet1").ChartObjects("Chart 6").Visible = True
Else
ActiveWorkbook.Sheets("Sheet1").ChartObjects("Chart 6").Visible = False
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
处理SheetChange,并在那里打电话给你的程序.
Private Sub Worksheet_Change(ByVal Target As Range)
HideChart1
End Sub
Run Code Online (Sandbox Code Playgroud)
完成.不要在事件处理程序中实现逻辑,它是第一个地狱门和spaghettification.对它进行单独的专用程序是完美的 - 您只需要自动调用它.
如果HideChart1在自己的标准模块中实现,则需要使其Public能够从工作表的代码隐藏中调用它; 添加Option Private Module到该模块的顶部以避免将成员公开为宏和/或工作表函数.