グラフ特集 − GoGoマクロ

HOME > レッスン > グラフ

グラフ特集 - グラフ操作マクロの基本をマスターしよう!

グラフ特集


pickup
Excelの悩み マクロでスッキリ!
『自宅でマクロがマスターできる本格CD教材』
   =現役ベテランSE監修=


今回は、グラフを操作するマクロ作りについて勉強していきます。
Excelでグラフというのはプレゼンや資料作成等、データ可視化には欠かせな いと思いますので、今回も張り切って勉強していきましょう。

それで、今回のポイントでもグラフを扱う場合にも「マクロの記録」は実に 有効な手段となりますので、以下にその方法を勉強していきます。

1)
まずは、下準備のマクロ作りから始めていきます。
────────────────────────────+
1.エクセルを起動させます。(空のエクセルを立ち上げてください)

2.まずは、テスト用のデータとして 以下のテキスト19行を
 コピーして、そのまま セルA1 の位置に貼り付けてください。

日付
2016/1/1
2016/1/1
2016/1/1
2016/1/1
2016/1/1
2016/1/1
2016/1/2
2016/1/2
2016/1/2
2016/1/2
2016/1/2
2016/1/2
2016/1/3
2016/1/3
2016/1/3
2016/1/3
2016/1/3
2016/1/3

3.次に、同様に以下のテキスト19行をコピーして、
 そのままその隣の B1 のセルに貼り付けてください。

時刻
0時
4時
8時
12時
16時
20時
0時
4時
8時
12時
16時
20時
0時
4時
8時
12時
16時
20時

4.同様に、以下のテキスト19行をコピーして、
 そのままその隣の C1 のセルに貼り付けてください。

計測値
33.52
32.43
31.36
33.52
31.36
30.31
31.36
30.31
29.27
29.27
28.25
28.25
28.25
29.27
29.27
28.25
29.27
30.31


5.それでは、データの準備ができたところで、
 まずは簡単な折れ線グラフを作る操作を、マクロの記録で
 記録していきますので、マクロの記録を開始します。
 [開発]タブの[コード]で [マクロの記録] をクリック→
「マクロの記録」画面が出るので、そのまま[OK] をクリック。

6.ここで、セルB1からC7の範囲を選択状態 にしてください。
(2016/1/1の部分の各時刻と計測値のデータ&その見出しです。)

7.次に、[挿入]タブの[グラフ]の中にある「折れ線▼」から
 左一番上(2-D折れ線)をクリックします。

8.最後に、グラフの選択状態を解除する意味で何処か適当な
 セル(A1など)をクリックしてから、マクロの記録を終了
 させます。
 [開発]タブの[コード]で [■記録終了] をクリック。
────────────────────────────+



2)
いま作ったプログラムの中身を見てみます。
────────────────────────────+
1.プログラム用の画面を表示させます。
 [開発]タブの[コード]で [Visual Basic] をクリック。

2.この画面の左上半分の[+標準モジュール]という所の+の部分
 をクリックすると、そのすぐ下に[Module1]と表示されるので、
 その[Module1] をダブルクリックします。
────────────────────────────+


++++++++++++++++++++++++++++─
Sub Macro1()
'
  Range("B1:C7").Select
  ActiveSheet.Shapes.AddChart.Select
  ActiveChart.ChartType = xlLine
  ActiveChart.SetSourceData Source:=Range("Sheet1!$B$1:$C$7")
  Range("A1").Select
End Sub
++++++++++++++++++++++++++++─

これは、いま単純に「マクロの記録」を使って折れ線グラフを作成する という操作を自動記録しただけのマクロのプログラムになります。
(ごちゃごちゃと難しい英語が並んでいるかと思いますが、例の如く これらコードの意味を理解する必要はまったくありません!



3)
それでは、確認のため早速このマクロを実行してみましょう。
────────────────────────────+
1.エクセルの画面に戻って、

2.まず、実行する前に、先ほど作ったグラフは一旦削除して
 おいてください。(グラフを選択して[Delete]キーで)

3.では、実行します。
 [開発]タブの[コード]で [マクロ] をクリック → 「マクロ」
 画面が出るので、そのまま[実行] をクリック。
────────────────────────────+

いかがでしょうか?

念のため、作成されたグラフが表の計測値データ(2016/1/1の)と一致して いることを目視確認してください。

と言うことで、これは簡単なグラフ(デフォルト設定での)を自動作成する マクロとして動作することが確認できたかと思います。


で、ここからが今日の本題です。



4)
では、ちょっとプログラムを書き直していきます。
────────────────────────────+
1. プログラムの画面を表示して、プログラムの最初の行

  Range("B1:C7").Select

 という行は要らないので、この1行は削除してください。

2.次に、下から2行目の

  ActiveChart.SetSourceData Source:=Range("Sheet1!$B$1:$C$7")

 と書いてある行を、下記のように修正してください。

  ActiveChart.SetSourceData Source:=Range("B1:C1,B8:C13")

 (※修正する箇所は最後のカッコの中だけです。)
────────────────────────────+

修正した後のプログラムは下記の様になります。

++++++++++++++++++++++++++++─
Sub Macro1()
'
  ActiveSheet.Shapes.AddChart.Select
  ActiveChart.ChartType = xlLine
  ActiveChart.SetSourceData Source:=Range("B1:C1,B8:C13")
  Range("A1").Select
End Sub
++++++++++++++++++++++++++++─



5)
それでは、再び実行してみましょう。
────────────────────────────+
1.エクセルの画面に戻って、

2.では、実行します。
 [開発]タブの[コード]で [マクロ] をクリック → 「マクロ」
 画面が出るので、そのまま[実行]をクリック。
────────────────────────────+

どうでしょうか?

今度は、次の日の(2016/1/2の)データのグラフができていればOKですので できたグラフの数値を念のため確認してみてください。

これで、グラフに出したいデータの範囲を指定する方法が なんとなくわかったかと思います。


それでは、ここで問題です。

Q.
今のプログラムをちょっと1箇所修正して、またその翌日の(2016/1/3の) グラフを作成するマクロを作って、マクロを実行して同様の(2016/1/3の) グラフを自動作成しなさい。

わかりましたか?(わからない人は以下のポイントも参考にしてください。)

答え合わせは、次回します。


最後に、今日のポイントですが、

【ポイント1】
 グラフ作成の場合も「マクロの記録」を辞書代わりにどんどん活用すべし!

【ポイント2】
 グラフ作成の肝となるのはデータ範囲の指定方法です。

ActiveChart.SetSourceData Source:=Range("B1:C1,B8:C13")

 データの範囲は、この行のカッコの中で指定します。  カッコの中は、シート上でまとまった範囲毎にカンマ区切りで指定します。  (カンマ区切りで飛び飛びの範囲が複数指定できます。)

例 ActiveChart.SetSourceData Source:=Range("A1:B10,D1:F10,H1:K11")

 グラフにするデータが固定位置の場合は、これも「マクロの記録」を使って範囲選択する操作(Ctrlキーを使って)を記録してみるのが早くて便利です。

 (記録開始 → 飛び飛びのデータ範囲をCtrlを押しながら選択していく→ 記録終了 の手順です。)

 記録例 Range("A1:A8,C1:C8,E1:E8,G1:G8").Select


なお、今回の ActiveChart.ChartType = xlLine という行の xlLine の部分 ですが、これはグラフの種類を示しているということはなんとなく想像は付く かと思いますので、例えば

 xlLine : 折れ線
 xlArea : 面
 xlPie : 円
 xlLineStacked : 積み上げ折れ線
 xlLineMarkers : マーカー付き折れ線

などなど、

この部分だけ変更すれば色々なグラフの形に変えることが可能です。
ただこれについても、最初にやったように 「マクロの記録」で作りたい種類のグラフを作る操作をただ記録してみれば簡単に調べることができる わけですので、これらをいちいち覚える必要もネットで調べる必要も全くありません。

ということで、「マクロの記録」って実に便利ですよね。
グラフ自動作成のマクロ作りの際にも「マクロの記録」は大いに活用して いってください。


今回はこれで終了です。

今日作ったマクロプログラムは次回もこの続きでまた使いますので、 ファイルの種類を必ず「マクロ有効ブック」にて、大切に保管して おいてください。
(ファイルの種類: Excelマクロ有効ブック 、ファイル名:gogo215.xlsm)

次回は、またグラフ特集の続き(応用編)です。お楽しみに!




マクロ初心者(入門者)の皆さんへ

こんにちは、「Go!Go! エクセルマクロをはじめよう!」筆者の三太郎です。
私はこの道25年、現役バリバリのベテランSE(システムエンジニア)をしています。 なので、業界にどっぷり染まってしまった IT業界人 です。(笑)

マクロ(エクセルのプログラミング)がどれだけ便利なものなのか・・・ ということは、 皆さんもうよくお分かりいただけてる(!?)ものと思いますが、でも 「やっぱ、中々取っつき難い、ハードルが高い、素人には難しい。」 そう感じている方も多いかと思います。

エクセルをほぼ1日中使ってる人が多い職場であっても、マクロを使える人はほとんど居ません。 (30人の職場で精々1人か2人居ればいいほうかと思います。。) 私は、そのような現状(PC仕事の非効率)を改善して、日本にもっと効率良いIT化の機運を 高めて行きたい!そう願って、今から十数年前にこのようなメルマガ講座を始めました。

マクロを始める為の条件は、エクセル上級者ではありません! 頻繁にエクセルを使ってる人、 ただそれだけです。エクセルの操作レベルはまったく関係がありませんので、 エクセルユーザーの全ての皆さんが当メルマガ講座の参加対象者です。

パソコン仕事で この上なく便利なエクセルのマクロ というものを、もっと多くの人に知って欲しい、使って貰いたい。その想いだけで、長年メルマガの 無料配信を続けてきました。今では、この分野では異例とも言える1万人を超える大勢の皆さんに ご登録いただいているメルマガ講座に成長いたしました。 読者の皆さんからのご声援のお陰です。本当、ありがとうございます。

当メルマガ講座では、簡単に出来るマクロ作成法のコツとその手順を教えています。 とにかく作って、動かす。だから楽しくなってきます。 VBAのカタカナ用語や難しい仕組みの理解、構文暗記といった従来型の不必要な勉強は一切しません! なぜなら、エクセル作業の自動化にその必要は一切ないからです。 初心者がすぐに挫折するカタカナ用語羅列のマクロ勉強なんて、殆どの人には役に立ちません!

マクロとは、エクセルの作業を自動化する為の道具に過ぎません! マクロを組む為に難しいプログラムの仕組みや わけのわからないカタカナ専門用語を覚える必要など毛頭ないわけです。 私はこれまで十数年間、大勢の読者に教えてきて、Excel自動化に成功した沢山の人を生み出してきた 経験で、そう断言します! (本屋に並ぶVBA参考書のライターレベルの人の言うことを真に受けて、 あなたに必要のない”勉強の為の勉強”をしてしまわぬよう、 くれぐれもご注意ください。)

ここでは、「これからマクロを始めてみようかな?」と思ってる方や、 すでにどこかで勉強して「すぐに挫折してしまった・・(>_<)」という方に、 安心して勉強のできる方法とその実習環境とが用意されています。 もし、あなたが過去に挫折した経験者であれば、きっと私が常々言っている 勉強すべき事とすべきでない事 その違い(ここの初心者学習環境の素晴らしさ・・)というものがすぐに分かっていただけるだろうと思います。

マクロ(VBA)というのは多義に渡ります。アマチュアのサンデープログラマーから ベテランの上級者やプロに至るまで、実に幅が広いものです。 初学者には到底 必要のない 難しい部分まで勉強してしまうから当然、 必ずずぐに挫折する事になります。

残念ながら、「まだピカピカの小学一年生(初心者)に、いきなり掛け算や割り算はおろか、 三角関数や微分積分までも教えてしまうような痛ましい光景」を、ネットでも参考書でもセミナーでも、 VBAの世界ではたくさん目にします。

だから、「何を勉強するか」ではなく「何を勉強しないか」 初心者にはその正しい選択が重要なんです。勉強の範囲を 初心者の領域(Excel業務の効率化)だけに絞ってやりさえすれば 、さほど難しく考える必要はありません。それで、難しく、さっぱりちんぷんかんぷんだと思っていたマクロが 楽しく、 どんどん楽しく、勉強できるようになります。

→ エクセルマクロを10分で理解する!(YouTube動画)


あなたもこの三太郎式マクロ勉強法で、面倒なExcel仕事の自動化を ぜひ、この他にはない画期的な方法で実現してください。あなたの 参加を(下記無料メルマガへのご登録を)お待ちしてます!! (少々、力説し過ぎて話長くなりました。すみません。m(__)m)



 
最新号 は、下記にアドレス登録すると無料配信されます。

▼マクロ講座の登録はこちら((無料)) まぐまぐ
Go!Go! エクセルマクロをはじめよう! (マガジンID:0000135169)   
メルマガ登録
  メールアドレス: