[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAで図形を描きたい』(ベジ)
選択セルの真ん中に〇の図形を描きたいのですが、うまくいきません。
線の始点と終点に青い線の〇を付けたいのです。
修正個所を教えて下さい。
宜しくお願いします。
Sub 青〇作成()
Dim T, L, W, H As Variant Dim X1, Y1, X2, Y2 As Variant
With Selection T = .Top L = .Left W = .Width H = .Height End With
X1 = L Y1 = T + H / 2 X2 = L + W Y2 = T + H / 2
ActiveSheet.Shapes.AddShape(msoShapeOval, 614.25, 246.75, 6.75, 6.75).Select With Selection.ShapeRange.Line .Visible = msoTrue .ForeColor.RGB = RGB(0, 102, 255) .Transparency = 0 End With Selection.ShapeRange.Fill.Visible = msoFalse Selection.ShapeRange.Top = ActiveCell.Top Selection.ShapeRange.Left = ActiveCell.Left
End Sub
< 使用 Excel:Excel2010、使用 OS:Windows7 >
シェイプのTop = セルのTop + セルのHeigth - シェイプのHeight/2 Leftの考え方も同様です。 (OK) 2019/05/22(水) 11:50
◯ セルのHeight
(OK) 2019/05/22(水) 11:52
Q&Aラウンジはマルチポストを禁止しているので向こうに移動したのであればこちらは終了してくれ。 こちらで続けるつもりならばQ&Aラウンジの方を終了させてくれ。 (ねむねむ) 2019/05/22(水) 13:59
すでに回答がついているのに削除するのは回答者に対して失礼。 理由と回答者へのお礼を書いてこちらは終了すると書けばいい。 (ねむねむ) 2019/05/22(水) 15:11
2019/05/22(水) 11:50の私のレスは嘘書いてあるな〜。
セルのTop+セルのHeight/2 でセルの中心(Y方向)が取得できるので、 そのセルの中心からシェイプのHeight/2をマイナス したところをシェイプのTopに設定したらY軸方向 に関してはセルの真ん中にシェイプを配置できます。 (OK) 2019/05/22(水) 20:45
選択セルの真ん中に〇の図形を描きたいのですが アクティブセルの真ん中に真円を描きます
Sub 青〇作成()
Dim T As Single, L As Single, W As Single, H As Single, W2 As Single
With ActiveCell T = .Top L = .Left W = .Width H = .Height End With '円の直径決定 W2 = IIf(W >= H, H, W) '配置位置を決定。 T = T + (H - W2) / 2 L = L + (W - W2) / 2 With ActiveSheet.Shapes.AddShape(msoShapeOval, L, T, W2, W2) .Line.Weight = 1 '線の太さ 1ポイント .Line.ForeColor.RGB = RGB(0, 102, 255) '線の色 .Fill.Visible = msoFalse '塗潰し無し End With End Sub (ピンク) 2019/05/22(水) 22:27
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.