Можно ли изменить тип объекта в 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и изменить его при необходимости.

Связанный контент