[[20080820111405]] 『オートシェイプを現在セル位置に表示する』(コマンド) ページの最後に飛ぶ

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

 

『オートシェイプを現在セル位置に表示する』(コマンド)
 オートシェイプをマクロ記録で作りましたが、これをアクティブセルに書き出すには
 どう変えれば良いですか?アクティブセル付近で良いですが、
 オートシェイプの○と矢印の位置関係は大体以下の関係にしたいのですが。

 Sub Add_Shape()
    ActiveSheet.Shapes.AddShape(msoShapeOval, 500.25, 202.5, 35.25, 38.25).Select
    Selection.Characters.Text = "88"
    With Selection.Characters(Start:=1, Length:=2).Font
        .Name = "MS Pゴシック"
        .FontStyle = "標準"
        .Size = 18
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
    ActiveSheet.Shapes.AddLine(432.75, 235.5, 505.5, 309.75).Select
    Selection.ShapeRange.Line.EndArrowheadStyle = msoArrowheadTriangle
    Selection.ShapeRange.Line.EndArrowheadLength = msoArrowheadLengthMedium
    Selection.ShapeRange.Line.EndArrowheadWidth = msoArrowheadWidthMedium
    Selection.ShapeRange.Flip msoFlipHorizontal
 End Sub


 「ActiveCell.Left」がアクティブセルの左位置、「ActiveCell.Top」が上位置なのでこれを基にしてはどうでしょうか?

 例
 ActiveSheet.Shapes.AddShape(msoShapeOval, 500.25, 202.5, 35.25, 38.25).Select
        ↓
 ActiveSheet.Shapes.AddShape(msoShapeOval, ActiveCell.Left, ActiveCell.Top, 35.25, 38.25).Select

 (独覚)

大変有り難う御座いました。出来ました。(コマンド)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.