エクセルマクロの勉強法(応用力を身に付ける方法) − GoGoマクロ!のWebサイト

HOME > ノウハウ > 応用力を付ける

エクセルマクロの勉強法(応用力を身に付ける方法)


今回は、「マクロの応用活用はできてますか?」と題しまして、 マクロ作成で最も重要な”応用力を身に付けるための勉強方法”ということについて 詳しくお話したいと思います。

以下の話は、当講座で毎回やっている「マクロ作成レッスン」 の真骨頂とも言うべき、最も重要な内容となりますので、

マクロ初心者の方は元より、ベテランの皆さんも、 この応用力を身に付ける為の方法、いま一度よく理解してして おいてください。


そもそも、多くの人がマクロが作れるようにならない原因である VBAの基本をひたすら勉強する(用語とか、構文とか、 文法だとか、ですね。)という従来の(日本古来からの?) 知識詰め込み型の教育から、

知識をどう活かすか、その活用力や判断力を身に付けていくことを 重視した教育スタイルへ、日本の教育全体を変えていく必要がある と思うわけです。


それはマクロ勉強の場合でも、初心者の人は必ず VBAの用語や文法を覚えるのが障害になるわけですから、、

とにかく、基本や用語優先の「辛い勉強」をするのではなく、

マクロは作りながら学び、実行しながら理解する。

当マクロ講座では、そうした学び方をしています。

これは、当講座のベテラン読者の皆さんであればもうよく ご存知かと思います。


では、マクロ作りで一番肝心な「応用力とか、活用力とか、」 そうしたものを身に付けるには、

いったい何をどのように勉強すればよいのか?

ということですが、

それは、当メルマガのレッスンを以下の方法にて活用してもらうと、 自然と身に付けることができるようになっています。

この方法で、かれこれもう10数年間マクロを教えてきて、 数限りない大勢の方々がマクロで自分のExcelの自動化に (マクロ作成の応用に)成功を収めて来ていますので、

その証拠は、当メルマガにてこれまでに再三ご紹介して 参りましたとおりです。


さて、今やネット上には「エクセルマクロ(VBA)を教えるサイト」 というものが無数にあるわけですが、

それらのサイトに掲載されているVBAのプログラム(ソースコード) というのは 皆、残念なことに既に完成済みのものばかりです。

親切なサイトであれば、それら完成済みのソースコードの1行1行に 詳しく説明を書いてくれているのをよく見かけると思いますが、

でも、完成に至るまでの過程(どうやってそれを作っていったのか?) という肝心な内容は、何一つ載ってはいません。


たとえば、こんな感じです。

'VBAのサンプルプログラム
Sub Test1()
  Dim MySeries As Object '←オブジェクト変数の定義
  Worksheets("Sheet2").Activate '←Sheet2を指定する
  Set MySeries = ActiveSheet.ChartObjects(1) '←シートのオブジェクト取得
  With MySeries.Border '←データ系列の定義
    .LineStyle = xlContinuous '←線種を設定する
    .Color = RGB(0, 255, 0) '←色を緑に設定する
    .Weight = xlMedium '←線の太さを中間に設定する
  End With '←データ系列の定義の終了
    ・
    ・
    ・
Exd Sub


このような、誰かが作ったサンプルプログラム(既存のソースコード) というのが、

「自分のやりたい事にドンピシャだ!」
「そっくりこのままで使えるぞ!」

なんていう、正に奇跡的な幸運なんて滅多にあることではありませんから、 (隈なく捜せば似たようなものはどこかのサイトにあるにせよ、)

少なからずそれらのサンプルコードを

「自分のやりたいプログラムに修正しなければならない・・・」

といった、極めて困難な状況に遭遇するワケです。


既存のコードとその説明だけで、「与えられた既存のソースコード」を サンデープログラマーとも言うべきプログラム素人の初心者が、
これを自分のやりたい事に修正するという行為は実に至難のワザである。 との認識をする必要がまずはあると思います。

第一、何処の誰が書いたのかもわからない、そのプログラムの ロジック(処理手順)やレベルの程度もわからない、、

そんな中で一生懸命に構文調べをやってしまうと、必ずドツボに はまりますので、多大な時間を無駄にするだけで結局、やりたかった 自動化をあきらめることになります。

構文を覚えたら他人の書いたプログラムが読めて理解できる。 との勘違いは、単なる素人発想に過ぎません!


*よく、日帰りのセミナーなどではそれ(ネットで探すこと)を奨励して、 「既存のソースコードの修正の仕方を習う」といった勉強スタイルで 教えているところがあるかと思いますが、

それは、短い時間で詰め込まねばならない日帰りのセミナーで、 主催者が講習を円滑に進めるために、わざわざ誰でも簡単に修正が 出来るようにとただ作ったコードに過ぎないわけですから、

それが予め用意されていない実際のあなた固有の実務においては、 その勉強法は実際に何の役にもたちません!

何故ならば、ただ2階から3階へ上がる方法だけ勉強しても、肝心な 1階から2階へ上がる階段は何処にもないからです。1階から2階へ上がる為の 勉強をしない限り(すなわち、1から自分で作っていく方法)、 2階から3階へ上がる練習をすることに何の意味もありませんから、 初心者の方が「既存コード直し」の勉強をやってはいけません。


そこで、

当講座のマクロ作りのレッスンでは、そのような完成済みのプログラム (既存のソースコード)の理解と直し方を勉強するのではなく、

プログラムを作る過程(作る手順)の1から10までを 詳しく 解説していく・・・、という勉強の方法を行なっています。

料理つくりに必要なのはグルメ本(人気店のシェフが作った料理を 食べた感想)ではなくて、レシピ本(その料理を作る手順が詳しく 載っている本)であるわけです。これがWebでなら、「食べログ」 に載っているお店のおいしそうな料理を見て、それ作れる人は居ませんから、 料理が作りたい人は必ず「クックパッド」を見るわけです。

レシピがあれば、自分でも同じ料理が作れますし、作る過程で 自分なりのアレンジ料理を生み出すということも容易ですね、 と言った具合にです。



たとえば、こんな具合です。

――――――――――――――――――――――――――+
(1)まず、「マクロの記録」使って簡単なプログラムを自動作成します。

(2)次に、作ったプログラムをちょっと修正します。

(3)では、修正したプログラムを実行して確認します。

(4)その結果、ここはこうしたいですからプログラムをもうちょっと修正します。

(5)では、再び実行して確認をします。

(6)その結果、更にここはああしたいですからまたちょっとプログラムを修正します。

(7)では、再び実行して確認をします。

(8)実行した結果、これなら大体OKですが、更にもっと便利なマクロにしたいので
 またちょっとプログラムを修正します。

(9)では、再び実行して確認をします。

(10)ではもう一度、今度は違うデータで、再び実行して確認をします。
――――――――――――――――――――――――――+


このように、作り上げるまでの過程が詳しく分かることによって、 初心者でも容易に応用活用が利くようになる。(応用レシピが 作りやすくなる。)ということです。


たとえば、上記の(4)で行なっているプログラム修正の、ここをこうして みたら、こんなこともできるんじゃないの?とか、

(6)の修正箇所のあそこをこう変えてみたら、あんなこともできるよね! なんて・・・

作る過程で自分なりのアレンジを加えてみることで応用が利くようになり、 「自分のやりたいことに合ったプログラムに修正していく」 という行為が 容易にできるようになってくるわけです。

初心者のあなたにとって必要なのは、そこに至る詳しい「過程」です。 「結果」ではありません。「作る過程」の載っていないグルメ本では 決して料理は作れません。自分で作りたければ「作る過程」を大切に してください。



具体的にはこんな具合です。 (以下、レッスンバックナンバーより抜粋)

  ↓↓↓
4)
それでは、実行してみましょう。
――――――――――――――――――――――――――+
1.エクセルの画面に戻って、シート[Sheet4]を開いてください。

2.C列に、以下の様に"金額"という項目名とその下のC2のセルから数値を
 手で打ってください。(金額の数値は適当な数に変えても構いません。)

営業マン 販売数  金額
田中    5 10000
鈴木    3 20000
田中    4 30000
鈴木    1 40000
田中の合計
鈴木の合計

3.以前にも実行しましたので、既に販売数の合計が表示されている場合は、
 念のため削除しておいてください。(B6とB7のセル)

4.上記の準備ができましたら実行します。
 [ツール(T)] → [マクロ(M)] → [マクロ(M)...] → マクロ画面が
 出るので そのまま[実行]をクリック。
――――――――――――――――――――――――――+

実行した結果、販売数と金額の正しい合計値が表示されればOKです。

さて、今回の修正は1列の集計から2列の集計へ拡張するといった内容のも のでしたが、 もうみなさんお分かりのように、これをさらに応用して3列 にでも、4列にでも、・・・ どんどん拡張していくことは簡単にできてし まうだろうと思います。

では、実際にご自分でこの拡張プログラム作りに是非チャレンジしてみて くださいね。

  ↑↑↑
(抜粋終わり)



それで、このようなレッスンをまず1回目はそのままやって動作を確認し、 (もし途中で拡張のアイデアを思いついたら、メモって置く。) 2回目、3回目に、考えたアイデアを加味したオリジナルで作っていく。

色々なアイデアを出して、自分の拡張版を作ってファイルに保存いって ください。

  gogo146.xlsm
  gogo146_3列拡張版.xlsm
  gogo146_罫線も自動挿入版.xlsm
  gogo146_こんな表も自動化版.xlsm
   ・
   ・
   ・

てな具合に、です。

要は、マクロが活用したければ活用力を付ける為の勉強を、応用した ければ応用力が身に付く勉強方法というものを、 それを繰り返し繰り返し、やっていくしかないわけです。

それ以外の近道も遠回りもありません。 VBAの基本勉強でマクロが作れるようには、決してなりません。


とかく、応用力に乏しいとされる日本人が、学校で受けてきた基本の 理解と暗記重視の教育から、応用力を磨くための勉強へ、その考えの 根本を変えていく必要があると私は思います。

基本基本や暗記暗記、それが正しい勉強だとする考え方は、もう いい加減に止めませんか?という事が、このマクロ講座を始めた 原点になります。

必要なのは応用力です。活用するための力です。 マクロ作りは、その最たるものだと考えています。

ぜひ、当講座のレッスンを活用して、知識をどう活かすか、 応用力や活用力を重視した勉強というのをやっていってください。

当講座のレッスンは、そのための訓練と最短で応用力が身に付く 環境とを提供していくものとなっています。



しかし、そんな当講座にも欠点はあります。

当講座レッスンの唯一の欠点は、「実例レッスンの数が多過ぎる!」 とよく言われることです。余りの事例の多さに目がくらむ・・・と。 (実例、たくさん設け過ぎですかね?笑)

けれど、マクロでやりたい事というのは本当、十人十色、百人百色、 千人千色、だと思いますので、その実例が多ければ多いほど良いと の考えでこれまでやってきました。

何本かのレッスンをやって、上記の方法で応用活用するのに慣れて きたら、その後は、自分の実際の業務に関係ありそうなタイトルの レッスンだけ選んでやっていただければ、それで結構だと思います。



最後に繰り返しになりますが、

VBAは、用語や文法を覚えるのが初心者の障壁になりますから、 暗記重視の勉強はもう止めて、

作りながら、実行しながら、楽しく理解深めて行きましょうね!!

当講座のレッスンは、その思考力や応用力、更には試行錯誤をへて 何かを生み出すチカラを養うというものです。

一言でいうと、


「マクロ作り」=「応用力」 →→ 「応用力」=「アレンジ力」


という流れになります。

実際この講座のレッスン、これやってみると 楽しくて ハマリますよ!



NEXT >>
マクロ高速化の手順とVBAの正しい書き方
ややこしいロジックが苦手な人はこれを使う



 

読者数1万人達成しました!

エクセルで 最大級の
メールマガジン。
まぐまぐ殿堂入り

最新号は 今すぐ ↓↓↓ 登録

メールアドレス:

Powered by
まぐまぐ

完全まぐまぐ配信なので登録安心です!


エクセルマクロの検定のページ