GoGoマクロのブログ

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

GoGoマクロ

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

なぜ?「マクロの記録」を使うべきなのか

2019-07-27 07:58:15 | マクロ作成のコツ

さて、前回はちょうど15周年の記念日の配信ということで、 ノンプログラマー(本職のプログラマーではない初心者)が マクロを習得するためには、かなり重要な話 「マクロの記録」は飲み物です!

歴史的な背景も踏まえての、このような投稿を書きました。

で今回はその続き、実際に現実的な面から見た「マクロの記録を使うべき理由」について、です。 今日の話も、大変に重要ですよ!

「自分はマクロが苦手だ!」 「自分でマクロが作れない!」とお嘆きの人は、特に心して以下読んでくださいね。

 

では、まず初めに問題です。

Q.今、B2のセルに"2019年1月1日"という日付のデータがあったとします。これを自動で和暦表示に変えるマクロを作りなさい。

要するに、

 "2019年7月1日" → "令和元年7月1日"

 こう表示を自動で変える為のマクロ、ですね。このマクロを簡単に作る方法、わかりますか?

ネットで調べる?「ブッブー×」大はずれです。全然ダメです!

正解は、

 まずは、必ず「マクロの記録」ですね!  素早く、正確に、これ作る為には、それに尽きます。

そもそも、ネット情報は正しくない場合が多いということはもう皆さん周知の事実だろうと思いますし、わざわざネットで検索して、サイト選んで読んでみるのも時間が掛かり面倒なわけですし、サイトによって言ってることも全然違ったりする場合も、多いわけです。

一方、

 「マクロの記録」なら、一発です!  しかも、必ず正しいです!  しかも、いつでもコードは一定です!

要するに、

「マクロの記録」で(機械で)書いたコードというのは、人間のような「気まぐれ」は一切無いわけです。

ましてや、個々のレベルによる個人差もありません。機械(マクロの記録)の良い点は、

いつでも、どこでも、誰にでも、同じ操作をすれば必ずいつも同じ、一定のコードを書いてくれます。

だから、その都度新たに勉強する必要がありません!

一方の、

人間というのは大変「気まぐれ」なので、同じ人であっても書くコードは気分によって毎回違いますし、

ましてや、

人それぞれのレベルや書き方やスタイルによって、てんでまちまち、書く人によってコードは実に「ばらばら」です。同じものは二つとありません。

だから、人間の書いたコードを捜して、それ「丸写しして、コード読んで、理解して、修正して使おう」とすればその都度、知らないコードを散々ネットで調べて、「理解しよう、どこを修正したら?」と散々格闘して・・・、それを余儀なくされるわけです。

多くのVBA先生達が、「VBAの難しい構文を理解しろ!」「他人の書いたコードを読めるようになれ!という発想で教えてる思いますが、

それだから、自分でマクロが組めるようにはならないし、いくら時間を使って勉強しても「何も作れない」のです。

そのような他人のコードを理解することなど、私のようなベテランSEの余程のプロであっても難しい事なのです。

他人のコードを理解する時間があったら、一から自分で作った方がよっぽど完成速い言うのが、プロの世界の常識事であります。

マクロのプログラム(自動化の手順)は、「自分の組み立てたロジック(処理の手順)で作る!」その考え方こそが、プログラミングには絶対的に重要です。

その為には、前回言ったCADユーザーは「コマンドの記録」をうまく利用して、それを組み上げて操作自動化してきたという長い歴史に従ってマクロを組むわけです。それしかない!

今日の話のまとめですが、

「マクロの記録」を使うべき理由は、いつでも「一定」だからです。すなわち、それは「安定」「安心」を意味します。

人間の書いたコード個人差激しく「や間違い」も多く、「やすやすと素人なんかに解読されたくない」という悪意も渦巻き、利用する側にとって「不安定」が激しいわけです。

なので、そのように「気まぐれ」な人間の書いたもの(他人のコード)に頼るのではなく、「安定」した「マクロの記録」を存分に利用して自分で組み上げたコードで、マクロは作るのです。

でないと、

その人間の「不安定さ」にいつまでも振り回される事になりますので、それは多大な時間を失い続けることになりますので、くれぐれもご注意ください。

ちなみに、

冒頭の問題を素早く解く為の「マクロの記録」の手順ですが、

 1.「マクロの記録」を開始する  

 2. B2のセルを選択する

 3. セル書式画面を開いて、[表示形式]の[分類]の[日付]で[カレンダーの種類]で「和暦」を選んで[OK]

 4.「マクロの記録」を終了する

です。

ネットで検索するよかずっと速い!ですよね。気になる人は、試しに上記やってみてくださいネ。

 

本日は、以上です。

 

コメント (1)

「マクロの記録」は飲み物です!

2019-07-19 09:06:46 | マクロ作成のコツ

本日は、当講座が今月でまる15周年を迎えたということで、何か重要な話を(ネットや本には絶対載っていない話を)してみたい思います。

題して、「マクロの記録」は飲み物です! (「マクロの歴史も知らないでマクロが教えられるか!」ってな内容になっています。)

特に、マクロの教え手側の人には、他人に間違った教え方しないよう、ぜひ知っておいて欲しい思います。

たとえばそれは、中学校の美術の先生が、生徒達に油絵の描き方教える際に「印象派」の歴史すら知らないで教えていたら、方向性間違ってしまうだろうのと同じです。

VBAの世界では、マクロの歴史的な背景も全く知らないで教える人ばかりが多いですので、「どうにも世間のマクロの教え方は皆間違ってる!」そう危惧してならない次第です。。

 

で、そもそもが、「マクロ」と言うものは何処で発展してきたのか? と言うと、それは、紛れもなく「CAD」の世界になります。

「CAD」というのは、コンピュータ上で設計図などを描く為のソフトウェアの事ですが、設計図ですからとにかく細かい作業になるわけです。操作が大変なのです。

こう言っては何なんですが、「CAD」の操作の複雑さと言ったら、とても「Excel」の比ではありません!

ここの読者の皆さんは、たぶん全員がExcelのユーザーだと思いますが、それで日々のExcel操作が面倒だから、働き方改革しなきゃならないから、ということでこれを読んでくださってることと思います。

けど、私に言わせるとExcel操作の面倒くささなんて、CADに比べたらまさしく「屁のカッパ!」です。(笑)

それを証拠に、たとえばPC職種での求人で、「CADオペレーターの募集」はあっても「Excelオペレーターの募集」というのはないわけです。

設計図を描く為のCADのソフトというのは、専門職を雇ってやらねばならないほど、細かくて、面倒で、時間も掛かる作業であるわけですから、ただ数字や文字を扱うだけの表計算ソフト(すなわちExcel)のそれとは、比べものにはなりません。

なので、「大変なPC操作を改善する方法=マクロを組む」ということですから、マクロは長らく、設計図ソフトのCADの分野で発展を遂げてきたという技術であるわけです。

読者の皆さんの中には私の知る限りでも、そのCADオペレーターをされてる方も多く居られますが、それは要するに、仕事柄その辺が(マクロを組む意義が)よくわかっているからだと思います。

実は、私は元々がそのCADソフトの開発エンジニアです。だから、自分で言うのも何ですが、言わばマクロのプロフェッショナルです。(ただのVBA本出しているようなライターのレベルではないわけです。。笑)

それで、そのCADのマクロの世界では、その昔から「マクロの記録」に似た機能というものがあったわけです。

「マクロの記録」というのはマイクロソフトが作った言葉なので、CADの世界では主にそれは「コマンド記録」と呼ばれていたものです。 自分が行ったCADの操作が、CADマクロのプログラムで(1行のコードで)出てくるという、優れモノの機能です。

だから、CADオペレーターと呼ばれる職種の人達は、自分の作業を効率化する為に、昔からその「コマンド記録」を頻繁に活用して、出てきた1行コードをいろいろ組み合わながら、複雑な操作を効率化するために役立ててきたという長い歴史があります。

それこそが、CADでの「コマンド記録」に端を発した現在で言うところのExcelの(Microsoft Office製品の)「マクロの記録」の歴史であります。

マイクロソフト社の誰かエンジニアが、CADのソフトからその仕組みをマネて作ったいうのが、Office製品に今ある「マクロの記録」であったのだろうと(間違いなくこれはパクリだ! 笑)と、私は憶測しています。

だから、いいですかっ!

マクロの組み方いうのは、元来から当講座のレッスンで散々教えて来たように「マクロの記録」から組み上げていくものであるわけです。

「マクロ」は、そもそもが「マクロの記録」ありき、なのです。そこから組んで、組み立てていくというものであります。複雑な操作になればなるほど、そうなります。

そうした「マクロの記録」の長い長い歴史も知らないで、「マクロの記録は使うな!」的な主張を展開されているVBA先生が、本でもネットでも多いと思いますけれど、、CAD開発に精通したエンジニアの私から言わせると、それはまさしく、愚の骨頂!本末転倒!であるわけです。

昔からCADの世界で効率よくやって来たマクロ本来の「正しい組み方」いうのを、もっともっと世間に広く広めていかないといけない思います。本来、「マクロの組み方」というものは「一般的な他のプログラムの組み方」とは、全くの別物なのです。

それで、つい先日も今やっている「三太郎アカデミー」の塾生の一人から、

> 以前から、マクロの記録は使っていたのですが、 > 必要のない行を見分けられずマクロは複雑だ!… > と思い込んでいました。

とのメールをもらいましたが、この方も言うように、「必要のない行を見分けらるようになったら・・・」それで、良いだけです。それで、「マクロは複雑」ではなくなるわけです。それで、「マクロの記録」も大いに活用できる。

いいですか、マクロは「マクロの記録」から組み上げる!

それが、古来から続いてきた正しいマクロの組み方です。一般のプログラミング(素人には難しすぎる!)とマクロのプログラミングとの、そこが第一の大きな違いですね。

だからまさしく、Excelマクロのユーザーにとってみたら、

「マクロの記録」は飲み物です!

すなわち、マクロは「マクロの記録」無くしては生きてはいけないもの、そう言えるだろうと思います。

初心者の方、ノンプロの方は、この歴史的な背景をよく心して、正しいマクロ作りの勉強に励んていって欲しい思います。

 

コメント

梅雨の晴れ間の信州ツーリングへ

2019-07-10 19:16:02 | よもやまな話

青い空、白い雲、木々の緑、信州の風、

最高です。

コメント

初級マクロ習得!『三太郎アカデミー』からのお願い

2019-07-09 11:19:55 | 三太郎アカデミー

【マクロ未経験者】の方へ

マクロが未だ全くの未経験(今回が本当に初めて!)という方は、受講に先立っての予習等は、一切必要ありません! あえて、何もしないでください。心の準備だけで十分です。

 

【本や他講座でのマクロ勉強経験者】の方へ

他で教わって挫折経験のある人で泣く泣く当講座に辿り着いたと言う人は、「マイナススタート」なってしまう人が残念ながら大変に多いです。 他で身に付けてしまった悪い勉強のやり方が、どうしても抜けないからです。

けど、そのやり方でマクロが作れる様になっていたのなら、このアカデミーにわざわざ参加する必要なんか全く無かった訳なんですから、知らず知らずに身に付いてしまったその 「ダメなやり方」というものは、いつまでも引きずらぬよう、まずはそれを心してください。

なので、それに思い当たるふしのある(経験者の)人は、とにかく過去は全て忘れ去って、頭の中を一度すっかり空にして(ゼロクリアーして)、このアカデミーに参加くださるよう、それが唯一の宿題になります。

とかく、「マイナスの状態からゼロに戻す」と言うのは簡単なようで、結構難しく、可也しんどいのは事実です。 せっかく覚えてしまった難しい理屈はどうしても忘れたくないのが人間のサガである訳ですから、それを甘く見たらいけませんよ! しっかり(すっかり)ゼロに戻す事に専念して努めてください。

コメント

コケ最高!

2019-07-08 19:34:56 | よもやまな話

西軽サテオフィスのある長野県佐久市のお寺の境内です。

梅雨の晴れ間のこの時期、

境内に引き詰められたこけの緑が実に艶やかで美しいです!

 

コメント

初級マクロ習得!『三太郎アカデミー』の特長

2019-07-04 09:58:26 | 三太郎アカデミー

はや今年も7月になりまして、先月1日から26名の塾生でスタートした『三太郎のアカデミー』も丁度半分が過ぎ、いよいよ後半戦に突入しました。

そこで、今回のこの『三太郎のアカデミー』の特長というのをここでもう一度おさらいして置きたい思います。

 

『三太郎のアカデミー』の特長

1.自宅で好きな時間に勉強できる【利便性】(遠くまで通う必要がない)

2.個別にマンツーマンの濃い【サポート】(おいてかれる心配がない)

3.2カ月間で【短期習得】&【短時間】マクロ作成スキル(時間のムダをしない)

 

とにかく、参加された塾生の皆さん全員に一人残らず、2カ月以内に初級検定のマクロがすらすら短時間で組めるレベルのスキルを必ず身に付けてもらいます。それが、このアカデミーでの私の絶対目標です。

その為に、とことん皆さんと向き合って、とことんマンツーマンでやって行きます。

それで、今回個別の指導ではあるんですが、自分以外の塾生さんの状況や問題点等も情報共有する為に、『三太郎のアカデミー通信』というのを、概ね週に1度のペースでメール配信してます。

これによって、自分以外の他の塾生さんの気になる(!?)進捗状況や、自分の全体でのレベル感のようなものも把握しやすくなるだろうと思います。

但し、このアカデミーは決して競争ではありません。皆さん個人個人のレベルや進捗具合に合わせて個別に進めて行くマンツーマンでの個別指導です。最初から自分勝手な飛ばし過ぎの勉強をやってしまうことは、固く禁じます。

もうすぐ子供たちは夏休みに入る時期だと思いますが、小学生時代の夏休みの宿題を思い出して、最初から根詰め過ぎて早く全部やってしまおう(7月中に)とはけっして思わぬよう、くれぐれもマクロの習得には、ペース配分が大切です!

とりわけ、当三太郎式のマクロレッスン言いますのは、1日15分の習慣化が出来るようにと、わざわざそう考えて作ってありますから、この2か月間で、毎日のマクロの勉強をムリのない習慣化をして、

その先の、中級者や上級者のレベルもぜひ目指していって欲しい思っています。

 

コメント