【发布时间】:2020-03-27 23:36:53
【问题描述】:
我在电子表格中有一个对象(即一个名为“形状”的矩形),我想根据单元格值 (A1) 隐藏它。这是我在互联网上搜索后尝试过的,但它不起作用。抱歉,无论如何我都不是 VBA 专家。根据网络搜索,我通常能够应付自如,但这个让我很难过。
Private Sub HideShape(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 1 Then _
Me.Shapes("Shape").Visible = (Cells(1, 1).Value = 1)
End Sub
我实际上有六个对象,我想根据六个单元格值类似地处理。这是我尝试过的代码:
Private Sub Worksheet_Calculate()
Me.Shapes("ProjMgmt").Visible = (Me.Cells(101, 3).Value = 0)
Me.Shapes("Planning").Visible = (Me.Cells(102, 3).Value = 0)
Me.Shapes("Implementation").Visible = (Me.Cells(103, 3).Value = 0)
Me.Shapes("Supplier").Visible = (Me.Cells(104, 3).Value = 0)
Me.Shapes("Process").Visible = (Me.Cells(105, 3).Value = 0)
Me.Shapes("Customer").Visible = (Me.Cells(106, 3).Value = 0)
End Sub
它适用于一种形状,但不适用于这六种形状。
【问题讨论】:
-
您是否尝试使用
Worksheet_Change事件?如果是这样,您不能将Worksheet_Change更改为HideShape。 -
感谢您的意见。有没有我可以用来获得相同结果的宏?
-
将
HideShape改回Worksheet_Change。 -
哇!那行得通!非常感谢 BigBen!
-
我如何在这个板上正式感谢你?