我是Excel VBA的新手,我正在尝试使用VBA代码解决此问题。
基本上,我的工作表有12个图表和12个表。在任何给定时间,只有一个表将获取数据,并且仅应看到该图。其他11个图形应隐藏。
我已经尝试过了
Sub getchart()
If Range("C1") = Vub Then
ActiveSheet.ChartObjects("Chart_33").Visible = True
Else
ActiveSheet.ChartObjects("Chart_33").Visible = False
End If
End Sub
答案 0 :(得分:2)
如果在更改单元格的值时需要图形从可见更改为不可见,则需要使用事件。
例如
Private Sub Worksheet_change(ByVal Target As Range)
If Target.Address = "$C$1" Then
if target.value = "vub" then
ActiveSheet.ChartObjects("Chart_33").Visible = True
Else
ActiveSheet.ChartObjects("Chart_33").Visible = False
end if
End If
End Sub
此代码应插入放置图形的工作表的工作表模块中。表格模块可在侧栏中找到。
答案 1 :(得分:0)
您可以减少@MrML的答案:
Private Sub Worksheet_change(ByVal Target As Range)
If Target.Address = "$C$1" Then
ActiveSheet.ChartObjects("Chart_33").Visible = (target = "vub")
End If
End Sub