[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『図形の線の長さ指定』(VBシロウト)
図形で一定の長さ線を引くマクロを教えてください。
一定の長さとは、セルの1列幅(たとえば1列が1.75(19ピクセル))の複数倍の長さとしたいです。
どこかのセル(たとえばセルD1)で、列幅とその倍数から線の長さを計算せておいて、
この長さで→の線を引くマクロを教えてください。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
適当に直線を引く操作をマクロ記録しますと
Sub Macro1()
'
' Macro1 Macro
'
'
ActiveSheet.Shapes.AddConnector(msoConnectorStraight, 108.75, 33.75, 269.25, _ 33.75).Select End Sub
こんなコードが生成されますね。 で、AddConnector をヘルプで調べますと、引数の解説がでています。 それらから、マクロ記録で生成されたコードを以下のように書き直してみます。
Sub Test()
Dim h As Double Dim l As Double Dim w As Double Dim t As Double Dim bX As Double Dim eX As Double Dim bY As Double Dim eY As Double
With Range("D1") t = .Top l = .Left h = .Height w = .Width End With
bY = t + h / 2 eY = bY bX = l eX = bX + w * 4
ActiveSheet.Shapes.AddConnector msoConnectorStraight, bX, bY, eX, eY
End Sub
そうすると、1行目の真ん中の高さで、D1のセル幅の4倍の直線がひかれますね。
(β) 2015/07/18(土) 07:19
横から失礼します。
>* 4
* Activesheet.Range("A4").Value
のようにします。
※A4が数値じゃないときのエラー処理は考慮していません。 (のらじろう) 2015/07/18(土) 10:07
To のらじろうさん
フォロー深謝です。
(β) 2015/07/18(土) 10:17
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.