パソコンスキルの教科書

パソコンスキルの教科書

東京大学大学院卒。博士課程に進学を志すも、担当教授と折が合わず、無職になる。医者を目指すも結局断念。田舎で派遣社員として働く。「スキルがなければ、仕事ももらえない」と悟り、ビジネススキルを学ぶ。プログラミング、英語を学び、一部上場企業へ転職。年間100時間以上の業務効率化を行い、社内講師に抜擢。海外の案件を担当し、数億円のプロジェクトに携わる。個人の事業でも、月売上100万を達成。現在は、自分の価値を高めるためのスキル向上支援を行う

マクロvbaの正しい開発手順|実際に効率化した事例で解説

f:id:gene320:20161231003305j:plain

マクロが使えるようになると、仕事を効率化するために自分でVBAプログラムを開発できるようになります。

しかし、正しい手順でマクロ開発をしないと、まったく効率化できないマクロができてしまいます。この記事では、実際の事例を使いながら、マクロVBAの正しい開発手順を紹介します。

マクロvbaの正しい開発手順を事例で解説

すぐにマクロvbaのプログラムを作成してはいけない

エクセルマクロで業務を効率化したいから、すぐにプログラムを書き始める人がいます。しかし、これはやってはいけません。なぜなら、プログラムは最後に作るものだからです。

マクロを作成する前の準備を整えることで、マクロ作成が一気にラクになります。ここでは、いきなりマクロvbaのプログラムを作成してはいけない理由と対策を紹介します。

「何をしたいのか?」を明確にしてからマクロを作る

「何をしたいのか?」という要望を明確にしてからマクロを作ることは大切です。なぜなら、要望が明確になっていないと、あとでやり直しが発生するからです。

たとえば、マクロを最初に作成すると、作ったあとで「これがほしい」「あれがほしい」といわれてしまいます。そのため、やり直しが発生します。

実際に、私も最初にマクロから作成したことがあります。すると、作成したマクロに対して、「報告書の捺印の場所を変えてほしい」「書類保管場所の情報もほしい」といった要望が出てきました。作り直しのせいで、作成時間をムダにしてしまいました。

あなたの貴重な時間をムダにしないためにも、マクロを作ることで「何をしたいのか?」を最初に明確化します。

元データの質が低いと作成するマクロが難しくなる

マクロ作成には処理するための元データが必要です。元データがすべてそろっていれば、マクロ作成はムズカシイものではありません。

しかし、元データがすべてそろっていない場合、または元データがあちこちにばらけている場合はマクロを作るのが難しくなってしまいます。

実際に、元データ1つから10種類のデータを抜き出して報告書を作成するなら、マクロを作るのはカンタンです。

しかし、元データ3つから10種類のデータを抜き出して報告書を作成するマクロを作るのはどうでしょうか。3つのファイルを探す、開く、閉じる、といったマクロのプログラムを作成する必要が出てきます。

これだけでもマクロのプログラム作りがタイヘンになってしまいます。そのため、元データの質が低い場合は、質の高い元データを探すか、作り直すほうが得策です。そうすることで、マクロを作るときの作業をカンタンにできます。

マクロ開発の正しいやり方|3ステップで作る

マクロ開発の正しいやり方は、これから紹介する3ステップで進めていきます。

[1] 最終レポートの形式を決める
[2] レポートに必要な情報を把握する
[3] 元データを作る・集める

それでは詳しく紹介していきます。

ステップ1|最終レポートに入れる情報を決める

最終レポートとは、お客さんに渡す資料や上司への報告書のことです。この最終レポートに入れる情報や項目を決めるのが最初のステップです。

このステップを踏むことで、マクロ作成のやり直しが少なくなります。たとえば、マクロ作成する段階で、上司や同僚に聞いて「このレポートで最終的に必要な情報や項目は何でしょうか?」と聞いてみることです。

たとえば、上司や同僚に聞いてみると、いろいろな情報や項目が必要だと分かります。また、実は要らない情報や項目があることに気づきます。

実際に私がマクロを作成したとき、製品の詳細まで資料に入れようとしたことがありました。しかし、そこまで作ると「タイヘンな作業になってしまうなあ」と感じていました。

しかし、担当者に聞いてみると、その情報まではまだ入れなくていいとのことだったので、タイヘンな作業にならずに済みました。

不要な作業を減らすために、最終レポートに入れる情報や項目を決めるのが最初のステップです。

ステップ2|元データを作る・集める

最終レポートに入れる情報や項目が決まったら、その情報や項目を作成するのに必要な元データを集めます。元データがあれば、そのデータを活用できるからです。

たとえば、元データとして契約先ごとの売上データがあるとします。その売上を月別に計算すれば、月の売上を出力できます。もし、元データがない場合は、自分で作るようにします。

このように、必要項目を作成するのに必要な元データを集めることは大切です。これができれば、最終レポートの作成がカンタンになります。

ステップ3|マクロを作成・修正する

最終レポートに入れる情報と元データを集めるところまできたら、マクロを作成します。

こちらの記事でも説明していますが、四角で穴のない元データがあるとマクロ作成がラクになります。

www.fastclassinfo.com

たとえば、穴があると、マクロのプログラムに「もし記載がない場合は、なにもしない」というプログラムを追加する必要が出てきます。そうすると、余計なプログラムを作成しないといけなくなります。

したがって、いかに元データを四角で穴のないデータにするか重要です。もし、四角で穴のないデータを入手できれば、マクロではなく、関数やピボットテーブルでもなんとかなる場合があります。

それくらい四角で穴のないデータは強力です。もし、詳しく知りたいなら、こちらの無料動画がオススメです。とても分かりやすく説明されています。

36日分の仕事効率化したマクロの開発事例を紹介

ここからはマクロ開発の手順を事例で紹介します。開発事例は、こちらの動画で作成している報告書(伝票)です。


この仕事の担当者は、もともと手入力での作業だったため毎月3日かけて報告書を作成していました。1年で12ヵ月あるので、年間36日分の報告書作成に費やしていました。

動画では300-400行程度ですが、実際には数千というデータがありました。1行ずつ作業をしていたのでは、いつまでたっても仕事が終わりません。

担当者は、「この仕事を何とかしたい」と頼んできました。ただ、こちらがマクロを開発するための時間を気にしていて、「時間があるときでいいからマクロを組んでほしい」と伝えてきました。

しかし、実際にこちらがマクロ開発にかかった時間は30分程度でした。

担当者は「もうできたの!?」と驚いていましたが、マクロの開発手順に従えば、ムズカシイものではありません。それでは、具体的な方法について、以下で紹介していきます。

ステップ1|報告書に必要な情報を決める

まず手を付けたのは、報告書で必要な情報を決めることです。必要情報を整理した結果、以下の6コの情報を入れ込むことにしました。

[1] 取引先名称
[2] 日付
[3] 会計番号
[4] 信憑番号
[5] 取引詳細
[6] 取引金額

f:id:gene320:20171020021942p:plain

上記の6つの情報を入れ込むことにしたところで、問題に気づきました。それは、捺印欄が下にあることでした。なぜなら、自動で報告書作成しようとすると、データが捺印欄と重なってしまうからです。

f:id:gene320:20171020022000p:plain

そこで、捺印場所は下から上に変更しました。幸い、この仕事の管理者は、捺印場所にこだわりがなかったため、すんなり了承してもらえました。これで難しいマクロを書かなくて良くなりました。

もちろん、捺印欄が下にあってもいいのですが、そのままでは、「もし出力するデータが30行を超えた場合は、捺印欄を下に移動させる」といったプログラムの記述が必要になります。これでは、難しいプログラムを書かないといけなくなります。

大切なことは、余計なプログラムを作らないことです。最初の段階で、簡単なマクロのプログラムにさせるように設計するようにします。

ステップ2|元データを作る・集める

次に元データを集めます。ステップ1で6コのデータが必要だと分かったので、それらのデータが含まれているエクセルファイルを入手します。

この事例では、四角で穴のない元データを入手できたことです。四角で穴のないデータとは、以下のようなモノです。

f:id:gene320:20170618162700p:plain
四角で穴のない元データ

これを入手できたので、難しいマクロを書く必要がなくなりました。

しかし、もし四角で穴のないデータだった場合はマクロを作るのがタイヘンです。たとえば、「もし空欄だったら、何もしない」「もしセルを結合していたら、セルの結合を解除する」と追加のプログラムを書かないといけなくなるからです。

f:id:gene320:20170618162834p:plain
「もし空欄ならば、何もしない」というプログラムを追加しないといけない

f:id:gene320:20170618162854p:plain
「セルを結合していたら、セルの結合を解除する」というプログラムを追加しないといけない

四角で穴のないデータについては、こちらの記事で詳しく解説していますので、合わせて読んでみてください。

www.fastclassinfo.com

この事例では、四角で穴のない元データを入手できたことが、マクロ作成が30分で完了できた要因です。マクロを書く前に四角で穴のない元データを入手することは大切なことです。

補足

この事例では、6のデータが含まれる元データを入手できましたもちろん、それ以上のデータが含まれていてもかまいません。6コのデータより多い場合は、そのファイルを使います。

もし、6コのデータより少ない場合は、いくつかのファイルを組み合わせて、6コのデータになるように調整します。

ステップ3|マクロを作成・修正する

ここまで準備してようやくマクロ作成です。この動画の0:00~0:50までに使用しているマクロに関して、コードは以下のこちらの記事で紹介します。

マクロのプログラムはいたってシンプルなので、マクロを書くときにほとんど困りませんでした。実際には、これまで作った他のマクロのプログラムをコピペ中心でしたので、マクロを書いた時間はほとんどありません。

マクロを効率的に書く方法はこちらの記事で紹介していますので、合わせて読んでみて下さい。

www.fastclassinfo.com

このステップ1~3までに要した時間はおよそ30分程度です

マクロ作成前が重要

上記で紹介したように、ステップ1と2で準備が整えると、ステップ3では、時間はかかりません。なぜなら、マクロのプログラムを書くだけで終わるからです。

しかし、多くの人はマクロを書くことからスタートしてします。そうすると、この場合は、あの場合は、と考え込んでしまい、なかなかマクロが完成しません。

そうならないためには事前準備です。事前準備がよければ、複雑なプログラムを書かなくてもマクロを完成させることができます。ぜひ、この手順でマクロを書いてみてください。

この記事を読んだ方へのオススメ

この記事を読んだ方は、こちらもオススメです。ぜひ合わせて読んでみてください。

エクセルマクロの実例について詳しく知りたいなら

「マクロの力を実感したい」と感じているなら、こちらの記事がオススメです。マクロが入ったエクセルファイルをダウンロードできるようにしています。もし詳細が知りたいなら、以下の記事で紹介していますので、合わせて読んでみてください。

サンプル1|月末処理の自動処理する
サンプル2|エクセルで在庫管理するマクロ
サンプル3|outlookのメールを自動送信する
サンプル4|outlookの受信メールをエクセルに一覧にして、添付ファイルも保管する
サンプル5|インターネットに自動アクセスする
サンプル6|ヤフオクの情報を自動取得して、エクセルに出力する
サンプル7|エクセルの情報をワードに差し込み、印刷まで行う

ぜひご活用ください。

エクセルマクロの難易度や習得までの期間を知りたいなら

www.fastclassinfo.com

エクセルマクロを独学で上達するコツを知りたいなら

www.fastclassinfo.com

エクセルマクロでできることを知りたいなら

www.fastclassinfo.com

「マクロと組むとは何か?」を知りたいなら

www.fastclassinfo.com

パソコン仕事を効率的に使うワザを知りたいなら

www.fastclassinfo.com