2

我有一个复杂的模板,有许多小形状(sheet.6 到 43),分组为一组(sheet.44)。里面也有子群。

我想使用 shapesheet 公式隐藏该组以使用用户属性。

在一个简单的形状上我会设置:Geometry1.NoShow=sheet.44!user.isHidden Miscellaneous.HideText=sheet.44!user.isHidden

但是如何让它在所有子形状中继承呢?用 vba 吗?

用答案编辑:

感谢 Jon 确认除了 VBA 之外别无他法。这是我的 VBA 代码,适用于所有遇到同样问题的人。

Call makeithidden("Sheet.164!Geometry1.NoShow", myshape)


Sub makeithidden(formula As String, ByVal myshape As Shape)
    For Each subShape In myshape.Shapes
        subShape.Cells("geometry1.noShow").FormulaForceU = formula
        subShape.Cells("HideText").FormulaForceU = formula
        Call makeithidden(formula, subShape)
    Next subShape
End Sub

再见!

4

1 回答 1

1

您的 VBA 代码必须遍历所有子形状并设置该公式,只要组获得新形状。公式的格式就像你的例子一样,所以它不会太难做到:

SubShp.CellsSRC(visSectionFirstComponent,0,2).FormulaU = "Sheet." & Cstr(ParShp.ID) & "!Geometry1.NoShow"

或类似的东西,在 ParShp.Shapes 中的每个 SubShp 的循环中...

于 2012-12-14T17:24:24.120 回答