Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » Shapes.AddChart2でグラフ位置を指定する

Shapes.AddChart2でグラフ位置を指定する

動作検証バージョン:Windows版Excel(バージョン1901 ビルド11231.20130)

「excel vba Shapes.AddChart2 グラフ位置」
という検索キーワードに気が付きました。

Excel VBAのShapes.AddChart2メソッドで、

Shapes.AddChart2でグラフ位置を指定する

グラフを挿入する位置を指定するには、どうすればいいのかを探していた方による検索です。

[スポンサードリンク]

ShapesコレクションのAddChart2メソッドでグラフ位置を指定するサンプル

「excel vba Shapes.AddChart2 グラフ位置」
ということですから、グラフ位置に関係するコードがわかる形のシンプルなサンプルをご紹介しておきます。

ポイントでグラフ位置を指定するサンプルマクロ

以下のSubプロシージャを実行すると、アクティブシートに、グラフの存在しないグラフエリアが作成されます。


Sub AddChar2でグラフの位置を指定する_ポイント指定()
 Dim ws As Worksheet: Set ws = ActiveSheet
 ws.Shapes.AddChart2 _
   Left:=10, _
   Top:=20
End Sub

Shapes.AddChart2メソッドには引数を7個も指定することができ、

Shapes.AddChart2でグラフ位置を指定する

これらの中でLeftとTopを使うと位置を指定できます。

ActiveSheetではヒントが表示されませんからオブジェクト変数を活用しましょう

実務で残すブックに残すコードとしては、
  ActiveSheet.Shapes.AddChart2 _
    Left:=10, _
    Top:=20
のほうがイイかもしれませんけれど、
  ActiveSheet.Shapes.AddChart2
と書き始めた場合、ヒントが表示されません。

下図のようにヒントを表示させるために、

Shapes.AddChart2でグラフ位置を指定する

上記のSubプロシージャではWorksheet型のオブジェクト変数をあえて使っています。

このヒントが表示されれば
「excel vba Shapes.AddChart2 グラフ位置」
と検索することも、なかったかもしれません。

この方法は「ActiveSheet.」でコードを書き始めたときに、ヒントやメンバーが表示されない問題の解決策として広く使え、Shapes.AddChart2メソッドの引数LeftとTopで位置を指定できるといったことよりも、他でも応用できる型を指定したオブジェクト変数に代入する方法を覚えていただきたいと、私は思っています。

セルでグラフ位置を指定するサンプルマクロ

セルとの関係でグラフの位置を指定したいなら、以下のSubプロシージャを参考にしてください。


Sub AddChar2でグラフの位置を指定する_セル指定()
 Dim ws As Worksheet: Set ws = ActiveSheet
 ws.Shapes.AddChart2 _
   Left:=Range("B2").Left, _
   Top:=Range("B2").Top
End Sub

RangeオブジェクトのLeftプロパティ・Topプロパティで取得できる値を、引数に指定しています。

ShapesコレクションのAddChart2メソッドでグラフ挿入後に移動するサンプル

Shapes.AddChart2メソッドは、挿入したグラフを表すShapeオブジェクトを返しますから、挿入後に移動するという方法でも、グラフ位置を指定できます。


Sub AddChar2でグラフを挿入後移動する()
 Dim ws As Worksheet: Set ws = ActiveSheet
 Dim shp As Shape: Set shp = ws.Shapes.AddChart2
 shp.Left = Range("C3").Left
 shp.Top = Range("C3").Top
End Sub

ShapeオブジェクトのLeftプロパティと、ShapeオブジェクトのTopプロパティを、グラフ挿入後に指定するわけです。

最終更新日時:2019-02-26 04:42

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » Shapes.AddChart2でグラフ位置を指定する

TrackBack:0

TrackBack URL

Home » エクセルマクロ・Excel VBAの使い方 » グラフ・Chart » Shapes.AddChart2でグラフ位置を指定する

「グラフ・Chart」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.