MS Excel 2003 VBA - 有没有办法将一组形状/对象定义为“组”

时间:2009-11-05 15:19:19

标签: excel vba excel-vba excel-2003

所以我有这个全球映射方案,其上的每个国家都是独立的形状。我学会了如何根据某些标准操纵颜色/填充。所以我这样做的方式,或者我一周知道一个形状/物体的方式。

例如,USA是“C_USA”,加拿大是“C_CAN”等等。

那么我有没有办法将国家分组?即。我想将USA,CAN和MEX放入一个NorthAmerican小组,这样我就可以为小组而不是所有三个小组分别调用一个子小组。

当我在欧洲结束时真的很臭! :)

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以按如下方式将形状分组:

Dim NA_Group As Shape
Set NA_Group = ActiveSheet.Shapes.Range(Array("C_CAN", "C_USA", "C_MEX")).Group

请注意,完成此操作一次后,您无法再按名称访问各个形状,而无需先取消组合,或者在 NA_Group中对它们进行寻址。

将它们分组后,您可以将整个组视为单一形状:

NA_Group.Fill.ForeColor.RGB = RGB(255, 255, 0)
NA_Group.Line.ForeColor.RGB = RGB(255, 0, 0)
'// etc.
相关问题