ExcelVBA(マクロ)を使えば大規模なシステムを作ることも可能なので、書店にはハイレベルな内容の書籍が並び、マクロの開発を代行するサービスも増えています(参考:エクセル業務効率化やマクロの作成、Excel VBA開発を依頼する方法)。
しかし、残念なことに、業務全体の自動化、効率化が必要以上に強調されているため、「マクロは難しい」「開発や分析をしない人には関係ない」「ExcelよりPythonのほうが・・・」といった誤解を招いているようです。
マクロは一般庶民のための機能の一つにすぎないので、手軽に始められ、たった1行の文を入力するだけで済む場合もあります。例えるならラーメンやお好み焼きのようなB級グルメです。たいして勉強する必要はありませんし、マスターする必要もありません。気軽に簡単なマクロを実行して、マクロの良さを実感してみてください。
目次
※注:たいした内容ではないので気軽にお読みください。
- 1.VBAは庶民の食べ物です
- 2.VBAは手軽で美味い
- 3.立派なシステムを作ろうと思ってはいけない
- 4.素直に初心者用の本を読みましょう
- 5.VBAにマナーはいらない
- 6.変数は架空のセルだと思えばよい
- 7.できる!楽しめ!感じるんだ!
1.VBAは庶民の食べ物です
(1)プログラミングだと思ってはいけない
世の中には、難しいプログラミング言語やそれを学ぶプログラミングスクールがたくさんありますが、ExcelVBAは「プログラミング」とは言えないレベルのものです。少なくともExcelの一般ユーザが使う範囲のVBAは、プログラミングではありません。
ExcelVBAは、Excelに付属する機能であり、足りない部分を補足するためのものです。「マクロはプログラミングが得意な人が作るもの」というイメージがありますが、まったく違います。掛け算、割り算、Excel関数の延長のようなものです。
ExcelVBAは一般庶民の食べ物であり、Excel限定の、Excelの特色を生かしたB級グルメなのです。
(2)開発者のVBAと一般庶民のVBAは異なる
例えば、ヲタクから見たAKBと一般の人から見たAKBは全く異なります。もともとAKBもB級グルメのようなものだったはずです。しかし、詳しい人がこだわればこだわるほど一般人がついていけなくなり、その結果、衰退しているのです。
開発者が考えるVBAと、一般人が求めるVBAは全く異なります。
本当にVBAの良さを知ってほしいのは、普段Excelで面倒な作業を繰り返している一般の事務職、営業職、プログラミングが全然分からない人です。初心者にVBAを教えるときには、プログラミングであることを意識しなくてもいいように教えなければなりません。
2.VBAは手軽で美味い
Excelのメニューには「セルA1を選択する」というボタンはありません。
しかし、毎日毎日、何回もセルA1をクリックする人にとっては、もっと簡単にセルA1を選択したいと思うはずです。これをVBAでは、「[a1].select」と書きます。たった11文字です。しかも、この11文字を入力しなくても、マウスを使って同じマクロを作ることができるのです(記録マクロ)。ExcelVBAはたくさん文字を打つ必要はなく、「手軽で美味い」庶民的な機能なのです。
記録マクロの作り方については別の記事で解説していますので、難しいことを考えずに動かしてみればいいと思います。
3.立派なシステムを作ろうと思ってはいけない
「マクロ=システム」というイメージがあるかもしれませんが、これも間違いです。Excelの一般ユーザが大きなシステムを新しく作る必要はありません。アプリを作る必要もありません。大量の難しい処理を一発で終わらせるというものではありません。
マクロは、普段Excelを使って同じ作業を繰り返している場合に、その機能を保存して楽をする「自動化」の機能です。毎日の作業の中で繰り返していることがあれば、それをマクロにするのです。
例えば、「合計をする」「移動する」「並べ替える」といった小さい作業を登録するだけでよいのです。
4.素直に初心者用の本を読みましょう
(1)半角文字を打つことに慣れていない
VBAは原則として半角の英数字を使って数式や命令文を入力します。たまに、全角の日本語を使うこともありますが、英語が多いです。Excelで数式を入力できる人でも、半角英数字で複数行の文を入力するのは抵抗があります。
初心者がいきなり本格的(実用的?)なマクロの本を買ってしまうと、キーボードで入力する文字が多すぎて挫折してしまいます。最初は、キーボード入力の比較的少ない入門書を買ったほうがよいです。そんなに入力しなくても簡単なマクロは作れます。
(2)いきなり資格のテキストを買ってはいけない
簿記や医療事務は、資格試験の勉強をすれば基本的な知識が身につきます。
しかし、パソコンの場合は違います。パソコンの資格はある程度スキルが身についている人が試験範囲の内容を勉強することによって合格できるのであって、スキルが無いのにいきなり資格の勉強をするのはナンセンスです。基本書を買って基本のスキルを身につけるべきです。
VBAも資格試験はありますが、知識を習得するために資格試験を受けるのは間違いです。初心者の段階で資格試験の内容を習得している必要はありません。基本的なスキルを身につけてから資格のことを考えればよいです。
- VBAエキスパート概要と勉強方法、Excelベーシック、スタンダードの出題範囲 - わえなび ワード&エクセル問題集
- Excelマクロ資格「VBAエキスパート試験」独学するなら公式テキストで勉強しよう - わえなび ワード&エクセル問題集
開発者として資格を取るなら正しい知識が要求されますが、初心者にとって本当に必要なスキルは正しい知識ではなく、サクッと動かすことです。
5.VBAにマナーはいらない
(1)文法なんていらないから会話をしようよ!
ところで、中学や高校の英語の参考書を読んだら、英語がペラペラとしゃべれるようになるのでしょうか? 多くの人は学校で英語の文法や構文を学んできましたが、流暢に英語を話せる人はごく一部です。しかし、海外でのホームステイの経験のある人は、ネイティブの人と会話をするうちに英会話をする能力を身につけ、帰国した後も英語がペラペラと話せます。なぜでしょうか?
確かに、言語を習得するには文法や構文を学ぶことも大事ですが、日常のあいさつや簡単な受け答えができるようになることのほうがもっと大事です。2つ、3つの単語で意思を伝える「瞬発力」を鍛えたほうが速く身につくのです。
ExcelVBAも同じです。ExcelVBAには公式のマニュアルがあり、正式な文法やマナーなどもありますが、プログラムとしての文法、構文、美しさ、読みやすさなどにこだわる必要は全くありません。堅苦しい文法の勉強は後回しにして、まずは、簡単なマクロを動かしてみることが大事なのです。
(2)手軽で美味いから価値がある
焼き肉やラーメンのようなB級グルメに詳しい人のなかには、マナーやウンチクを長々と語りだすウザい奴がいますが、B級グルメを語る資格はありません。本来、B級グルメは最低限のマナーで美味しく食べられることが大事なのであって、堅苦しい決まりは不要なのです。
牛肉なんて適当に焼いて食えばいいし、ラーメンなんて適当に箸で食えばいいだけです。いくら詳しいマニアであっても、店主から見れば単なる客にすぎないのですから、黙って食えばいいんです。
本当に詳しいことを知りたい人は、本格的な書籍を買うなり、サイトを見るなりすれば良いですが、初めからマニアックな知識を知る必要はありません。VBAはもっと気軽に味わうものであり、手軽で美味いから価値があるのです!!
6.変数は架空のセルだと思えばよい
初心者にとってハードルが高いといわれる「変数」の概念もそんなに難しく考えることはないです。
初心者の段階では、Excelの「セル」と同じものだと思えばよいです。実際のセルA1、A2・・・の代わりに、架空のセルを作っているだけです。架空のセルの名前は何でもいいです。「ramen」でも「soba」でも「curry」でもかまいません。
例えば、VBAで「ramen=4」と書けば、架空のセル「ramen」に4と入力することができます。左矢印で「ramen←4」と考えると分かりやすいです。
「[A1]=ramen」と書けば、ramenの内容をセルA1にコピーするという意味です。左矢印で「セルA1←ramen」と考えると分かりやすいです。たったこれだけのことです。
つまり、普段から使っている「セル」は、変数なのです。
7.できる!楽しめ!感じるんだ!
インターネットやSNSでは、ExcelVBA(マクロ)についていろいろな意見が飛び交っていますが、まったく気にする必要はありません。動けば何でも良いのです。
HTMLやCSSのようなホームページの専門知識を知らなくても、ブログは書けます。VBAの難しい知識を知らなくてもVBAは作れるのです。
今まで「マクロって難しそう」と躊躇していた皆さん、決してそんなことはありません。VBAなんて所詮B級グルメなんです。理屈を抜きにして楽しみ、味わい、感じるものなのです。
最初は適当に始めても、VBAの資格を取ることは可能です。