
Creé un objeto rectangular con texto dentro de un documento EXCEL y lo formateé mucho. Si quiero cambiarlo repentinamente a tipo circular (oblicuo), ¿hay alguna manera de hacerlo en EXCEL?
En este momento, crearía un objeto circular (oblicuo) y luego copiaría el formato del objeto mediante el ícono de copiar formato. En cuanto a la dimensión del objeto, simplemente lo copiaría manualmente. Además, el texto escrito dentro del objeto también se copia manualmente. Esperaba que hubiera una manera más rápida de hacer esto.
Respuesta1
Puedes hacer esto con VBA Macro. Es cierto que lo probé con Excel 2013, por lo que las cosas pueden ser ligeramente diferentes con 2010.
Selection.ShapeRange.AutoShapeType = msoShapeOval
Cambia la forma seleccionada a Ovalada
Selection.ShapeRange.AutoShapeType = msoShapeRectangle
lo vuelve a cambiar.
También puedes establecer la altura, el ancho, etc. como en este ejemplo:
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
Lo anterior selecciona una forma específica. Puede hacer que VBA encuentre todas las formas. ActiveSheet.Shapes
devolverá un rango que puede recorrer, verificar la corriente AutoShapeType
y cambiarla si es necesario.