トップに戻る

エクセルでグラフィック part 1

エクセルで、グラフィックを扱う場合、グラフを書いてみると解るように、シート上、グラフシート上と、二つの場所があることが解ります。
先ずは、グラフシート上、VBAでは、グラフシートという表現より、チャート上という表現になります。
先ずは、VBAで、チャートシートを追加します。
イミディエイトウィンドウ上で、左記の様なコマンドを実行します。そうすると
左下のように、チャートが、追加されたことがわかります。
名前は、Graph1という名の、Graph4という、オブジェクトが、出来ます。

注意1:chartsと、コードを、全部打たないと、駄目かなと思っている方が
多いかと思います。ctrl + spaceキーを押すと、コマンドが、
ほとんど、メニューから、選べる形になるので、
憶えておくと、非常に便利です。
また、メニューから、選べないようだと、文法に間違いがある可能性が
多いし、また、スペルミスが多くなるので、
出来るだけ、メニューから、選ぶように癖をつけたほうがいいと思います。

注意2:プログラムコードに、charts.addコードを加え、実行した方が、
良いと思われる方も、多いかと思います。
プログラミングは、実行、プログラムの間違いの修正の繰り返しが多いので、
プログラムコードに、このコマンドを、書くと、どんどん、チャートが増えて
後々、都合が悪いことが、出てくるので、
最初の段階で、直接、グラフシートは、作っておいた方が
良いかと思われます。


Public Sub gr()
Dim li As Shape, cir As Shape, re As Shape


Set li = Graph4.Shapes.AddLine(0, 0, 100, 100)
Set cir = Graph4.Shapes.AddShape(msoShapeOval, 100, 100, 100, 100)
Set re = Graph4.Shapes.AddShape(msoShapeRectangle, 200, 200, 100, 100)


End Sub
まず、標準モジュールを作成して、
サブプロシャージャーを作成しました。
まず、
直線として、li
円として、cir
長方形として、re
という、シェープオブジェクトを作成します
オブジェクトに、直線と、円と、長方形をセットします。
このプロシャージャーを実行すると、
左下のように
グラフ1に、上記図形が、三つできます。

(コードの実行方法は、イミディエイトウィンドから、
call grで、実行するか、グラフを表示させて、
ツール、マクロから、マクロ grを実行させればいいです。)

コード見ると、直線は、独自の関数があるのですが、
円と、長方形は、addshapeのパラメーターを
変えることにより、出来ることが解ります。
コードを見ると、非常に長がく、
コードを入力するのは、
大変なのではと思われる方も多いかと思いますが、
ここはIDEの便利な所で、すべて、メニューから、
選ぶだけなので、そんなに、大変ではないです。
また、線の長さや、その他のパラメーターは、
入力する時に、意味が、下の図の様に表示されるので、
意味に沿って、入力すれば、良いようです。





パート1は、この辺で、終了します。どうです。簡単でしょ。
後はいろいろと、応用していて行けば、いろんな、図形が描けます。
エクセルで、標準搭載している。図形も、addshapeのパラメーターを変えると、いろいろ描けることが解ります。
まずは、グラフに、いろいろな、図形を、描いてみてください。
また、描いた図形は、マウスで、移動したり、削除したり出来るので、その辺も、いろいろ調整できます。
でわーまた パート2で!!!