Red de conocimiento informático - Conocimiento de la instalación - Buscando consejos sobre cómo dibujar círculos concéntricos en Excel Vba

Buscando consejos sobre cómo dibujar círculos concéntricos en Excel Vba

Aunque los métodos Shape.ScaleWidth y Shape.ScaleHeight de Excel tienen un parámetro msoScaleFromMiddle, en realidad no pueden ampliar el círculo desde el centro del círculo, por lo que solo necesita dibujar el círculo con el centro de gravedad como centro según el círculo original.

El siguiente código es solo una modificación de su código, principalmente cómo determinar la posición de la esquina superior izquierda de otros círculos. Pero sólo puedes dibujar un círculo a la vez. Si necesita muchos círculos concéntricos como este, deberá modificar ligeramente su código, asignar la nueva escala a una variable de matriz y luego usar un bucle simple para leer la matriz.

Sub txy()

Const r1 = 25

Const startpos = 10

Atenuar r2 como único

Relación de atenuación como única

Establecer myShe = Application.Top + startpos 'Obtener el margen superior de la celda activa

Con myShe.Shapes.AddShape(msoShapeOval, myleft, mytop, r1 * 2, r1 * 2) 'Agrega un óvalo msoShapeOval de jardín

.Fill.Transparency = 1 'Establece la forma en transparente

.mytop = Application.ActiveCell.Top - (r2 - (startpos + r1)) 'Obtener el margen superior de la celda activa

. Shapes.AddShape(msoShapeOval, myleft, mytop, r2 * 2, r2 * 2) 'Agrega un óvalo msoShapeOval de jardín

.Fill.Transparency = 1 'Establece la forma en transparente

.Line.Weight = myXt + 0.75 'Establecer ancho de línea

.Line.ForeColor.RGB = RGB(255), RGB(255), RGB(255), RGB(255).RGB = RGB( 255, 0, 0 ) 'Establece el color de primer plano. Si quieres copiarlo exactamente, puedes volver a configurarlo en el myRGB original

End With

End Sub

myleft, mytop Sí El punto de la esquina superior izquierda del círculo, para ser precisos, es la posición de las coordenadas de la esquina superior izquierda del círculo tangente al punto cuadrado, en libras 50, 50 es el diámetro del; círculo De hecho, no existe un comando separado para dibujar un círculo en Excel. Este comando se usa para dibujar elipses, los dos parámetros son ancho y alto. Si son iguales, se dibujará un círculo, y si no son iguales. , se dibujará una elipse. Cuando se utiliza el método AddShape para agregar gráficos, hay cinco parámetros. La forma que se dibuja depende principalmente del primer parámetro de tipo.