今回は、前回発表いたしました自作「マクロ大賞」にて、見事に「優秀賞」を
獲得された京都府のでんさんが普段から実践されているマクロの作り方のコツ
についてご紹介したいと思います。
未だ、どうもにも自分はうまくやれてないなぁ~、と普段から思っているよう
な方には非常に参考になると思います。
今回ご紹介する優秀賞受賞のでんさんは、過去にこのメルマガ誌面でもご紹介
させていただいたことがありますが、今でも現役で自営業を営まれている恩年
74歳になるご老人です。
そもそもマクロを始めた目的というのは、事業の貸借対照表等の会計処理をマ
クロで自動処理させたいということでした。
それで、数年前にたまたまインターネットで知った当講座にてマクロの勉強を
始められました。
今では、当初目的だった貸借対照表のマクロをはじめ、勤怠管理や従業員の報
酬計算に至る事業関連データ全般の処理を、マクロ化することを実現され、
そのほかにも、地域活動で役員をされている子供会の名簿や出欠の管理、はた
またカレンダーの大安検索や趣味の浪曲選曲に至るまで、身の回りのあらゆる
データ処理をマクロで自動化されています。
今ではもう「新たに作るべきマクロがなくなってしまって寂しい!」とまで洩
らしているくらいになっておられますので、新たに作るマクロのヒントを求め
てこの講座のメルマガ配信を毎回心待ちにしていただいています。(最近は、
配信の方がなかなか追いつかない状況ですので大変に申し訳ないです。。。)
こう聞いて、「74歳ってほんとに?」と疑われる方も多いかも知れませんが
実は、でんさんはお住まいの京都から大阪で開催したセミナーにご参加いただ
いたことがありまして、私も実際にお会いして色々とマクロでやられているお
話を直にお聞きしました。
こう言っては大変に失礼なんですが、「とても70代には見えない!」といっ
たスーパーおじいちゃん風な方では全然なく、見るからに歳相応、ごく普通の
どこにでも居そうな70代のおじいちゃんです。
セミナーでの実習の時間にしても、他の若い参加者の人たちに比べれば、当然
キーボードやマウス等のパソコンの操作関係は遅くゆっくり目ではありますし
画面にしても年齢相応の老眼からか少々見づらそうな様子ではあったわけなん
ですが、
それでも、若い人でもなかなか作れないような、この様な作品が次々と作れて
しまう驚きのご老人なわけです。
★優秀賞[京都府のでんさんの作品]3点
前回の紹介用に作ったでんさんの作品のデモ動画、まだ見ていない方は、
実行デモは こちらから
以前にご紹介した時のデモ動画は こちらから
いかがでしょうか?
70代のおじいちゃんでもこのような沢山のVBAマクロのプログラムが作れ
るなんて、信じられますか。
で、そんなご高齢にも関わらず若い人以上にこのような自作のマクロが次々と
作れてしまうのには、それなりの秘訣というものがあるわけです。
その秘訣というのは、以下の2つです。
○ワーク用の裏シートを設けてうまく活用する。
○同じレッスンの派生ファイルがいくつもある。
まず、一つ目の「ワーク用の裏シートを設けてうまく活用する」ということで
すが、
これは、素人でもプロでも同じですが、プログラム作りで一番難しく頭を悩ま
すというのがいわゆるプログラムのロジック(理論的な手順)を考えるという
部分です。(具体的には、プロのプログラマーの場合ならフローチャート等を
書くという作業のことを指します。)
まぁ、プログラムのロジックを考えるというのはパズルを解くよなものだ!と
一般的にはよく言われますが、特にパズルのようなものを解くのは苦手だとい
う人にとってはこれはプログラム作りで一番に難儀な部分であるのは確かです。
それで、この「ワーク用の裏シートを設けてうまく活用する」というでんさん
のされている方法を用いることで、そのような厄介なロジックを考えるといっ
た必要がないということが、エクセルでプログラムを作る際の最大の利点でも
あります。
例えばですが、あるデータの並べ替えをしたいという場合に、一般のプログラ
ム言語(FORTRANやCOBOLやC言語やJava等々)を用いてそれ
をやる為には、必ず最低でも2重のループの処理プログラムを組まなければな
りません。(1件目のデータと2件目以降、2件目のデータと3件目以降、3
件目と・・・といった比較を行って、大小を入れ替えていくというループ処理
です。)
が、エクセルのVBA言語の場合では、並べ替えるデータを一旦ダミーのシー
トなどに吐き出して、この講座でいつもやっている「マクロの記録」で、メニ
ューの[データ(D)] → [並べ替え(S)] → 「並べ替え」画面で条件を設定 →
[OK]といった一連の操作を記録して、記録されたプログラムにちょっとだけ
修正を加えてやれば、簡単にデータを並べ替えるというったプログラムは組め
てしまいます。
この方法なら、プログラム中に2重、3重のループはおろか、どんな条件の並
べ替えであっても1重のループでさえ、いちいちプログラムで組むといった必
要はありません。
このように、ダミーの作業用シートをうまく使うことによって、中々一気には
結果を出すまでに加工するのは難しい複雑なデータ処理であったとしても、作
業用の裏シートをいくつか設けて、段階を追ってそこに書き出しながら徐々に
加工を進めていくことで、難しいロジックを考える必要なく、実に簡単に処理
するプログラムが完成できてしまったりします。
人間誰しも、パズルを解くような思考力というのは、年を重ねるごとに年々、
当然衰えていくわけではありますが、この方法によって、パズルを解くような
複雑でややこしいプログラムのロジックというものを考える必要がなくなり、
それゆえに、でんさんのように何歳になっても、年齢に関係なくプログラム作
りがバンバンできるというわけです。
次に、二つ目の「同じレッスンの派生ファイルがいくつもある」ということで
すが、
これは、私にとっても大変にありがたい話ではありますが、この講座を作って
いる本人の口からは中々ここまでやってくれ、とは言いづらいことでもありま
すので、これまでに一度もこのやり方について言及したことはなかったのです
が、
実はでんさんのPCのマクロ学習用のフォルダの中には、例えば
gogo146.xls
gogo146_罫線拡張版.xls
gogo146_書式も自動化版.xls
gogo146_こんな表も自動化版.xls
・
・
といった具合に「同じレッスンの派生ファイルがいくつもある」ということな
んです。
1つ目のファイルは当講座オリジナルの内容の通りにそのまま作ったマクロの
ファイルで、
2つ目以降は、でんさんがご自分のアイデアでオリジナルの作り方の過程で手
を加えて作っていったでんさんオリジナルの拡張版マクロのファイルです。
3つ目、4つ目は、さらにご自分のアイデアを加えて拡張を図って作っていま
す。
当講座の1つのレッスンに対して、こうしていくつものアイデアが湧いてきて
(ここをこうしてみよう。とか、あそこをこうすればこんなこともできるんじ
ゃないか。とか、)、2回目以降、レッスンでのマクロを作る過程の中で、そ
の自分のアイデアを実践して試しながら作っていくわけです。
当講座の1レッスンは約10分を想定して作っていますが、(先程も言ったよ
うに若い人よりPC操作の遅いお年寄りのでんさん場合なら15分ほどは掛か
るでしょうから、)×4回で、計約1時間ですね。
この方法で、元1つと自分のオリジナル版3つをたったの1時間で作れてしま
うということになろうかと思います。
それが証拠に、メルマガ配信をした翌日にはご自分で作られた拡張版のマクロ
を送ってくださること度々で、70代のお年とはとても思えないくらいの実に
スピーディーさです。(実際に、マクロを作っている時のPCに向かう姿は、
とてもスピーディーとは言えないお年寄りペースであるにも関わらずです。)
でも、同じ様にレッスン途中で何か自分のアイデアが浮かんだという人の中に
は、最初から手を加えた拡張版を作っていけば、1回の10分で済むじゃない
か!と思われて、そうされてしまう方も多いことと思いますが、でもそうして
しまうと元が悪いのか、自分の直した部分が悪いのか、解からなくなってしま
いますので、
そのような場合、人間誰しもまずは他人を疑いたくなる性質のものですので、
エラー等でうまく動かなかった場合にはその解決に迷走することになります。
まずは、最初は何もいじらず、元のマクロが正しく動作するかどうかのを確認
するために最後まで作ってみる、1回目はとにかく講座の内容の通りに(私が
こう作りなさいと書いてある通りに)1度最後まで通しで作って、正しく動作
することを確認します。(但し、何も考えないでそのままやったんでは勉強に
ならないので、書いてある通りに作るにしてもあれこれとアイデアは考えなが
ら、、、です。)
そうすると、2回目以降の拡張版を作る場合には、もし動かない場合に自分が
修正した部分だけをピンポイントでチャックすればいいわけですから、元を含
めたプログラムの広範囲を疑ってのあれやこれやと、ありがちな要らぬ堂々巡
りとなるような無駄な時間を費やさなくて済みます。
そして2回目は、あれこれ考えたアイデアをあれこれやって試してみながら、
できたものをまた保存して、そうするとまた2回目の中で浮んだ別のアイデア
を、3回目、4回目で試していくためにもう1度、レッスンの最初から作って
いくということを繰り返します。
なので、同じレッスン番号のマクロファイルがPCの中にいくつもできていく
わけなんです。
ここまでできてくると、色々な自分のアイデアを、自分自身で色々試す中で、
色々なことを自分自身で気が付いていきますので、どんなに人に教わったこと
は直ぐに忘れるタイプの人であっても、自分で気付いて自ら学んだことという
のは、記憶力の大小に関わらず決して忘れません。
これを毎回、レッスンの度にやられているわけですから、必然的に応用力が身
に付くというのも、当然といえば当然な話でありますので、年齢に関係なく、
何歳になってもこのように自作のマクロがバンバンと作れてしまうというわけ
なんです。
よって、こうして年を取って記憶力や思考力が衰えてきてもマクロ作りが自在
に、且つスピーディーにできるわけで、このような年の功といいますか、学習
のすでをでんさんは身に付けておられます。
このような勉強法は一見、遠回りのようにも見えるかも知れませんが、この方
法の方が遥かに、自分で作れる人になるための応用力を付けるためには早い上
達法であると思いますし、思考力や記憶力の衰えにも対応のできる、実に理に
適った方法でもあるわけです。
最後に、本日の話のまとめをしますと、
できない人というのはいつま経ってもできないやり方をやっていて、
その逆に、できる人はできるやり方、勉強の仕方をやっています。
できる人とできない人の違いとは、単純にその違いだけです。
▼賢くマクロ作りをマスターするのコツが満載▼
プロが直伝する「エクセルマクロ成功の鉄則」教材セット