我有一个复杂的模板,有很多小的形状(第6到43页),分组(第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
见到你们!
答案 0 :(得分:1)
您的VBA代码必须遍历所有子形状并在组获得新形状时设置该公式。公式的格式就像你的例子一样,所以做起来并不难:
SubShp.CellsSRC(visSectionFirstComponent,0,2).FormulaU = "Sheet." & Cstr(ParShp.ID) & "!Geometry1.NoShow"
或者类似的东西,它在ParShp.Shapes中的每个SubShp的循环中......