GoGoマクロのブログ

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

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

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教える先生達には残念ながら、そんな人達がたくさん居ますから。。。)

 


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。