EXCELでオブジェクトのタイプを変更できますか

EXCELでオブジェクトのタイプを変更できますか

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、必要に応じて変更します。

関連情報