|
▼pitakon さん:
こんばんは。
>以下のマクロをVBAで作成したいです。
>
>まず、マクロの実行前にエクセルのシートに2つの円を描いておき、その2つの円をシフトキーを押しながらマウスで左クリックして選択しておく。
>そのあと、マクロを実行して、2つの円の中心の間に線を引く。
>
>というものです。
>言い換えれば、任意の2つの円の中心間に線を引く、ということです。
>
>選択した2つの円のそれぞれの座標が取得できればいいと思ったのですが、そういう方法がわからなくて困っています。
>
>ご回答よろしくお願いします。
pitakonがおっしゃる二つの円を選択した状態で以下のコードを実行してみて下さい。
'===================================================================
Sub main()
Dim x(1 To 2) As Double
Dim y(1 To 2) As Double
Dim shp As Shape
Dim selshp As ShapeRange
Set selshp = Selection.ShapeRange
For Each shp In selshp
With shp
x(idx + 1) = .Left + .Width / 2
y(idx + 1) = .Top + .Height / 2
idx = idx + 1
End With
Next
ActiveSheet _
.Lines _
.Add x(1), y(1), x(2), y(2)
End Sub
|
|