[[20190522113524]] 『VBAで図形を描きたい』(ベジ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『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


× セルのHeigth

◯ セルのHeight
(OK) 2019/05/22(水) 11:52


 Q&Aラウンジはマルチポストを禁止しているので向こうに移動したのであればこちらは終了してくれ。
 こちらで続けるつもりならばQ&Aラウンジの方を終了させてくれ。
(ねむねむ) 2019/05/22(水) 13:59

削除してください。
(ベジ) 2019/05/22(水) 15:09

 すでに回答がついているのに削除するのは回答者に対して失礼。
 理由と回答者へのお礼を書いてこちらは終了すると書けばいい。
(ねむねむ) 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.