GoGoマクロのブログ

初心者向けマクロ講座「Go!Go!マクロ」の筆者三太郎の公式ブログです。

GoGoマクロ

エクセル仕事の自動化が誰でもできる本

危険な「サンプルコード症候群」になってませんか?

2019-05-14 11:23:41 | マクロ作成のコツ

今回の『三太郎アカデミー』の目的でもあります「一度もマクロを作った事のない人」に、もしくは 「初級程度のマクロすら未だ作れていない人」に、「正しいマクロ作りの基本」を身に付けてもらう。

初級レベルのマクロならほんの1時間もあれば余裕で 完成できる人になってもらう為に実施するものです。

そこで、今日お話しする内容は、ではその 「正しいマクロ作りの基本」とは、いったい何か?どうすれば、何を身に付ければそのようなごく短時間で、 確実にマクロが組めるというスキルが得られるようなる のか?

それについて、です。

先日のこと、ある知り合いの男性から以下のような 面白い話を聞きました。。

「自分も料理を始めよう思って『キューピー3分クッキング』 を観ていたら、(3分とは言わないまでも手軽に作れる料理 を教えてくれるのだろう思って・・・、)

そしたら、途中でいきなり、冷蔵庫の中から予め仕込んで おいた料理というのが出てきてー、

それ、3分じゃ作れないじゃん!

て言うか、それ仕込むまでの、そこまでの作り方も教えて くれないと、自分家の冷蔵庫のどこを探してもそれ入って ねーから・・・。」って、そう思ったそうです。(笑)

これ、よくあるVBA本の場合でもそうなんですが、、

応用の章に入ると、いきなり筆者が作ったサンプルコードが (という名の仕込み料理が)登場してくるわけです。(笑)

そこまでの作り方は、本のどこにも載っていません。 そのコードに書かれた構文の説明が長々と書いてあって、 そこからの(仕込まれた後からの)直し方だけ書いてあって、後は、「はい!これこの様に直して使ってくださいよ。」 って言うわけです。。

いいですか、

世の中に、仮に20の業種があるとして(仮にです)、 各業種には仮に20社の会社があったとして、その各社には 20の部署があり、その部署の中にExcelで頻繁に仕事する 社員が20人居たとして、その各社員は20通りのExcel作業 を担当しているとします。(大雑把にです。)すなわち、要するに世の中には 20×20×20×20=16万通り の(少なく見積もって、ですよ)Excel作業があるわけです。

だから、本なんかに載っている突然現れたサンプルコードが 実際に役に立つという読者は、仮にその本が16万部売れた としても精々数人しか居ないわけです。その他大勢の、自分で仕込むまでの料理を作れない読者に とっては、そのサンプルコードいうのは何の役には立ちま せんね。そんなものをわざわざ理解させられて直せた所で、まったく 全然自分の実務応用にはならないわけです。それは16万通り ある中の、たった一つのサンプルに過ぎませんから。。。

必要なのは、予め仕込まれたサンプルコードの詳しい解説 ではなく、そこまでどうやって作るのか?であるわけです。「仕込むまでの仕込み方」です。そこは何も説明がない。。。 違いますか?

巷の高額VBAセミナーでもそうです。講師が予め用意した サンプルコードの直し方は詳しく教えてはくれますけど、じゃあ、そこまではどうやって作ったの? そこは何も語りません。仕込み方は教えてくれません。(笑)

16万通りある中のたった10通りや20通りのサンプルコード があった所で、それがあなたの業務に役立つ可能性いうのは、 限りなくゼロに近いわけです。おまけに、その予め仕込まれたサンプルコードいうものは、 初心者にでも容易に直し易く作られたというものです。それで、「わっー、出来た出来た!」と喜んで、帰される (気持ちよく帰ってもらえるよう仕込んでいる・・・) というだけに過ぎません。だから、セミナー終わりの感想文 では皆が「これなら自分にも出来そうだ~!」と、直後の 感想は必ず皆そうなるわけです。でも実際、帰ってから何か自分の実務に応用しよう思った ところで、最初から「???」にしかならないわけなので、 そのような経験、心当たりがある人もきっと多い思います。 いきなりの、「???」です。(笑)

それが、本でもセミナーでもネットでも、巷にはびこってる 「間違ったマクロの作り方」その典型です。だから皆、結果 マクロが作れない(泣!!)となってしまっているわけです。これは、いわゆる「サンプルコード症候群」の量産です。

例えば、カレーを作る場合、殆どの人は箱に入った市販の ルーを買って来て、そこから作るわけです。インド人でも ない限り、スパイス調合するところから作るという日本人 は滅多に居ませんよね。けど、あなたが昔よく食べていたお母さんが作ってくれた あの懐かしい我が家の味のカレーが食べたい!と思っても、 市販のルーから作ったら「ハウス」や「S&B食品」の味 にしかならないわけです。(笑)

あなたが食べたいと望む「我が家のカレー」を食べるには、 お母さんにそのルーの作り方から詳しく教わるしかありま せんね。あなたが欲しいと願うマクロの場合も、またしかりです。 市販のルーからでは、あなたの望む(あなたに固有のー) マクロというのは決して作れません。

いいですかっ!何度も何度も何度も言うようですが、

「プログラムを読む」とは、「プログラムの流れを読む」 ということであって、VBA構文の意味を理解したところで 他人の作ったプログラムなんか読めるわけがないのです。だから、プログラムいうのは一から自分で作るしか ありません!それが、プログラマーのごく常識です。

それで、

私が教える「正しいマクロ作りの基本」(当講座で長年 やってきたレッスン勉強)と言いますのは、そのような、まやかしの仕込まれたサンプルコード無しで、 最初から、一から自分で作れる方法というのを教える為の 内容になっています。 突然いきなり、私が作ったサンプルコードというのは一切 出ては来ません!毎回ちゃんと、その仕込み方から詳しく 書いてあるわけです。

プログラムは最初から、一から自分で作れるようにならなけ れば、意味がないのです。(途中、1行2行を他人の作った コードからコピッペして使うぶんには何ら問題はないわけなんですが、)他人の作ったコードを全部コピッペしたら絶対いけません!それでは、他人に頼らなくては生きていけない人間にしか なれません。もっと主体的に、16万分の1の偶然の幸運に 頼るというのではなく、自らの力で、仕込むところから、 しっかり自分で作れる人間に、是非なってください。

「正しいマクロ作りの基本」をちゃんと学べば、 必ずそれは出来るようになります。他人のサンプルコード 頼みの人間は、いつまで経っても他力本願で、けっして 自力で出来るようになる訳がありません。違いますか?

先日も、とある初心者の女性が私にこう言いました。「ネットで見つけたサンプルコードをちょっと直して 使ったら、上手くいったのよ。」と。

でもそれは、競馬と同じ「ビギナーズラック」でしかないわけです。 初めて馬券を買った人によく見られる、いきなり万馬券が 当たって数十万円を大儲けして、それで味を占めて、 深みにはまってしまって、結局、その数十倍ものお金を損してしまう・・・。 という、まぁよくある話ですね。

VBAの場合もそれは同様です。たまたま偶然、そのような サンプルコードが見つかる幸運を得て、それに味を占めて しまった人というのは、必ず、次に見つけたサンプルコードにああでもないこうでも ないと格闘をして、それにたっぷり浪費した時間で、 最初のビギナーズラックで得した時間の数十倍、数百倍の 多大な時間を、結局損することになるわけです。他人の作ったサンプルコード頼みの作り方をしようとする人は、 必ず、そうなります。多大な時間を浪費します。ネットで見つけたサンプルコードとの格闘をもう半年以上も 続けている・・・ってな人が本当、世の中沢山居るわけです。 (そんな心当たりはありませんか!?)

今日の話をまとめますと、

「正しいマクロ作りの基本」とは、要するに、他人の作ったサンプルコードに頼らずに、仕込みから自分で 出来るようになること。

です。

ここの読者の皆さんにおかれましては、市販のVBA 本やネットなどに載っている「まやかしのサンプルコード」 には絶対に騙されることのないよう、ぜひ、主体性を持って 「正しいマクロ作りのやり方」いうものを勉強して行って くださいね。私はそう願っています。

そもそもが、

プログラム(マクロ)というものは、一から自分で作れる ようならなければ、ほんと、元も子もありませんですから、他人の書いたサンプルコードを頼りにさせられる(途中、 1行2行を他人の作ったコードからコピッペして使う分には 問題ないので大いにやるべきなんですが、)「サンプルコードの全コピッペから 始めろ!」言うよーな、そんな偽プログラマーにはくれぐれも騙されぬよう、 皆さんご注意ください。(素人言語であるVBA教える先生達には残念ながら、そんな人達がたくさん居ますから。。。)

 

コメント

本当に、マクロはわずか2カ月で習得できるのか?

2019-05-11 10:36:29 | 三太郎アカデミー
私、これまで何度も何度も、何度も何度も言って来ましたが、
それは、「無駄な勉強をしない。。」ということに尽きます。

とりわけ、

 訳のわからんカタカナ専門用語とか、
 オブジェクトやメソッドがどうとかこうとか・・・、
 VBAの構文を理解して他人のコードを解析しろだとか、

です。

巷の殆どすべての他の講座では、たっぷりの時間を掛けて
ただ理論だけを学びます。それらに殆どの時間も脳みそも
費やす勉強をしてしまっています。

そして、それら理論ばかりを学んだ多くの人が、マクロの
作り方を知らないままに、挫折するのです。

私から言わせると、それはただ
「必要のない無駄な勉強をしてるだけー」に過ぎません!

車の運転免許を持っていて教習所に通った事のある人なら
分かる思いますが、これは、AT車とMT車の違いです。

免許を取りに教習所に行って、AT車(オートマ教習)の
方を選べば、難しい半クラッチの理屈も練習も、しなくて
済みます。

今の世の中、免許取得後にオートマではないマニュアル車
をあなたが買うということは一生無い思いますし、

よほど、プロのドライバー(タクシーの運転手とか宅配便
のお兄さんとかトラック野郎とか)に将来なりたい言う人
でもない限り、オートマ教習で得た免許で十分に一般道路
でも高速道路でも、自由に不自由なく走れますね。

坂道発進での半クラッチ操作は難しいです。S字のクラン
でも操作大変です。ましてや車庫入れなんて・・・。

ですが、そもそもオートマ車にはクラッチのペダル自体が
ないですから、オートマ教習を選べば半クラッチの理屈は
おろか、その言葉すら覚える必要がないわけです。

これは、VBAでのオブジェクトでも、またしかりです。
メソッドだのプロパティだのと言ったものは、素人が
マクロを組んでExcelの自動化をする為には、まったく
必要がないわけです。

そのような無駄で、素人には難しい勉強に貴重な勉強時間
を費やすのではなく、Excel自動化の為に必要な勉強だけを、

本来の「正しいマクロ作り為の勉強」だけに集中した勉強を
やったならば、全くゼロからの人でも2カ月もあれば十分に
マクロはマスターできるものであるわけです。

当講座では、多くの人が大勢それで成功をおさめています。

そもそも、素人のプログラミングに過ぎないマクロ習得に
そんなに時間の掛かるものではないわけです。Excelの数
ある機能の中で「マクロ」と言うたった一つの機能を覚える
というだけなのですから・・・。

(但し、将来にプロのプログラマーを目指そう目的で
VBA勉強しようとする人はまた別な話はあります。)

その分、肝心な勉強に(マクロが作れるようになる為の
正しい勉強だけに)、仕事で日々忙しいあなたの貴重な
勉強時間を使うようにして欲しいのです。

マクロっていうのは、
とにかく組み方(考え方)が命でありますから、
三太郎式があなたのマクロ作りに命を吹き込みます!

 
 
コメント