私は固定された直径と中心を持つ円を持っています。私が今必要とするのは、指定された範囲に円を挿入することです。たとえば、Excelのセルに挿入する列の11ボックスと10ボックスの行を指定します。指定された範囲を入力した後、円は固定された中心を持つ選択範囲内にありますが、ボックスの高さと幅の測定値は異なります。私の質問は、セルの高さと幅が異なる任意の範囲(11 x 10または9 x 12のように)に円を挿入する方法です。マクロExcel:セル内の特定の範囲に円を挿入するには
マイコード:
Sub DrawCircleWithCenter()
Dim cellwidth As Single
Dim cellheight As Single
Dim ws As Worksheet
Dim rng As Range
Dim Shp2 As Shape
CellLeft = Selection.Left
CellTop = Selection.Top
ActiveSheet.Shapes.AddShape(msoShapeOval, CellLeft, CellTop, 565/2, 565/2).Select
Selection.ShapeRange.Fill.Visible = msoFalse
With Selection.ShapeRange.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(0, 0, 0)
.Transparency = 0
End With
i = 182
Set Shp2 = ActiveSheet.Shapes.AddShape(i, CellLeft, CellTop, 20, 20)
Shp2.ShapeStyle = msoShapeStylePreset1
Set rng = ActiveWindow.VisibleRange
Selection.Left = rng.Width/2 - Selection.Width/2
Selection.Top = rng.Height/2 - Selection.Height/2
Shp2.Left = rng.Width/2 - Shp2.Width/2
Shp2.Top = rng.Height/2 - Shp2.Height/2
End Sub
あなたの「選択」の範囲は? –
今のところ、範囲の選択はランダムです。セルの高さと幅を変更すると、円の範囲が変わります。私が望む範囲でサークルを作ることは可能ですか?列x行を使用します。 – prestan