|
>▼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
|
|