我在 EXCEL 文档中创建了一个带有文本的矩形对象并对其进行了大量格式化,如果我想突然将其更改为圆形(斜)类型,有没有办法在 EXCEL 中执行此操作?
现在,我会创建一个圆形(倾斜)对象,然后通过复制格式图标复制对象的格式。至于对象的尺寸,我只需手动复制即可。此外,对象内部的文字也是手动复制的。我希望有更快的方法来做到这一点。
答案1
您可以使用 VBA 宏来执行此操作。诚然,我尝试使用 Excel 2013,因此 2010 的情况可能略有不同。
Selection.ShapeRange.AutoShapeType = msoShapeOval
将选定的形状更改为椭圆形
Selection.ShapeRange.AutoShapeType = msoShapeRectangle
将其改回原样。
您还可以设置高度、宽度等,如以下示例所示:
Sub Macro3()
ActiveSheet.Shapes.Range(Array("Oval 3")).Select
Selection.ShapeRange.Height = 53.8582677165
Selection.ShapeRange.ScaleHeight 1.11, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.AutoShapeType = msoShapeOval
End Sub
以上选择了一个特定的形状。您可以让 VBA 找到所有形状。ActiveSheet.Shapes
将返回一个您可以循环的范围,检查当前形状AutoShapeType
并在需要时进行更改。