我希望仅在条件满足时显示图表。更确切地说:我有一个下拉菜单,可以更改图表的内容。如果单击菜单项“总收入”,我希望显示第二个图表。我是VBA的新手,这是我到目前为止所提出的:
Sub Iffuntion()
Dim SelectedChart As Range
Dim notVisible As Boolean
If Range("D100").Value = Range("E100").Value Then
ActiveSheet.ChartObjects("Testchart").Visible = True
Else
ActiveSheet.ChartObjects("Testchart").Visible = notVisible
End If
End Sub
它可以工作,但是我必须执行VBA才能让图表显示/消失,我希望这会自动发生。此外,条件最终应该在另一个工作表中,以使图表保持良好和整洁。我读到要实现这一点,我必须激活其他工作表。你会推荐这种方式还是有更好的解决方案?
感谢您的帮助和最好的问候! 皮特
编辑:这是带有Cor_Blimey建议解决方案的示例文件的链接,我无法正常工作。 excel中的互连比它们本来要复杂得多,但我希望尽可能准确地展示我的Excel中实际发生的事情。谢谢你看看!
答案 0 :(得分:0)
假设您的意思是他们从数据验证下拉列表中更改了单元格的内容,那么您可以将代码放入Worksheet的Worksheet_Change事件中。当用户更改单元格的内容(或通过外部链接)时会触发此事件。
然后测试正确单元格的单元格,然后运行代码。
像:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Set rng = Intersect(Target, Me.Range("D100"))
If Not rng Is Nothing Then
If rng.Value = Me.Range("E100").Value Then
Me.ChartObjects("Testchart").Visible = True
Else
Me.ChartObjects("Testchart").Visible = False
End If
End If
End Sub