У меня есть объект (то есть прямоугольник с именем "Форма") в электронной таблице, который я хотел бы скрыть на основе значения ячейки (A1). Вот что я пробовал после поиска по inte rnet, но он не работает. Я прошу прощения, я не эксперт 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
Он работает с одной формой, но не работает с этими шестью формами.