我正在迭代电气表表上的数据并在形状表上创建形状。创建形状后,我想以编程方式对它们进行分组。但是我无法找出正确的语法。形状就在那里,被选中,如果我单击分组按钮,它们就会完美分组。但是通过下面的代码我得到
运行时错误 438 对象不支持此方法或属性。
我的代码基于网上的 VBA 示例 - 我不是一个强大的 VBA 程序员。这样做的正确方法是什么?我正在使用 Excel 2007,并且无法切换 Excel 版本。
有问题的片段:
Set shapeSheet = Worksheets("Shapes")
With shapeSheet
Selection.ShapeRange.Group.Select
End With
Context:
Dim shapeSheet As Worksheet
Dim tableSheet As Worksheet
Dim shpGroup As Shape
Set shapeSheet = Worksheets("Shapes")
Set tableSheet = Worksheets("Electrical Tables")
With tableSheet
For Each oRow In Selection.Rows
rowCount = rowCount + 1
Set box1 = shapeSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 50, 50 + ((rowCount - 1) * 14), 115, 14)
box1.Select (False)
Set box1Frame = box1.TextFrame
Set box2 = shapeSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 165, 50 + ((rowCount - 1) * 14), 40, 14)
box2.Select (False)
Set box2Frame = box2.TextFrame
Next
End With
Set shapeSheet = Worksheets("Shapes")
With shapeSheet
Selection.ShapeRange.Group.Select
End With
无需先选择,直接使用
Set shpGroup = shapeSheet.Shapes.Range(Array(Box1.Name, Box2.Name)).Group
附言。出现错误的原因是选择对象指向工作表上选择的任何内容(这将not是刚刚创建的形状)最有可能的是Range
and Range
没有Shapes
财产。如果纸张上碰巧有其他形状并且选择了它们,那么它们将被分组。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)