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