Excel VBA(マクロ)初心者の学習帳 ~VBAを書く準備とモジュールとは何か~
エクセル作業に追われて仕事が終わらない...。
作業を自動化できたら楽なのにな、マクロを使いこなせるようになったらいいな...。
エクセルを使って仕事をされている方なら誰しも一度は考えるのではないでしょうか。
しかしVBAを勉強しようと本を買っても、オブジェクトとかプロパティとかよくわからん単語が並んで、つまづいてしまいますよね。
かくいう僕も、勉強しようと本を買ってみたはいいものの、羅列される単語に圧倒されなかなか勉強が前に進みませんでした。
そこで僕は、会社が出してくれたお金で某パソコンスクールが開いているexcel VBAの基礎講座に申し込み、ブレイクスルーを図りました。
この記事では、パソコンスクール講座で学んだことや、独学で学んだことを中心に、excel VBA初心者の僕がつまづいた点を伝えていきます。
同じく初心者の方の悩み解消に役に立つのではないかと思います。
僕自身が初心者のため、厳密な定義とは違っていたり、内容が不十分な点があるかと思いますが、ご容赦ください。
もし間違いがあった場合はご指摘頂けたらと思います。
そもそもマクロとVBAの違いとは?
簡単に言うと、
マクロは「Excelで処理を自動化したまとまり」です。
そしてマクロを作る命令文を書くプログラミング言語がVBAです。
(VBAはVisual Basic for Applicationsの略称)
つまり、VBAを書けるようになればマクロを作れるようになる、ということです。
でもぶっちゃけ「マクロを勉強する」イコール「VBAを勉強する」ということなので、初心者はこの名前にこだわる必要はありません。
VBAを書くのに必要な準備は?
必要なのはExcelの入ったパソコンだけです。
Excelさえあれば特別にプログラミングソフトを買ったりする必要はありません。
しかしExcelを開くだけではVBAを書く場所が見つかりません。
早速VBAを書く場所を呼び出す準備をしましょう。
Excelを開くと「ホーム」や「数式」などのタブがあるリボンという部分があります。
リボン部分に「開発」というタブがあればいいのですが、初期設定では出ていません。
そこで、開発タブを呼び出す作業をします。
リボン部分から「ファイル」タブをクリックしてください。
左部の一番下「オプション」に進みます。
「リボンのユーザー設定」⇒右部の「開発」のチェックボックスが空白になっているので、チェックを入れます。
そしてOKを押してもとに戻ると、次の画像のように、リボン部に「開発」タブが出ていると思います。
更に、「開発」タブを開いて、一番左の「Visual Basic」を開くと、ついにVBAを書く準備ができました。
この画面をVBEと言います。
Visual Basic Editorの略です。
”エディター”なので編集画面のことですね。
ちなみにこのVBE画面を出すのに便利なショートカットキーがあります。
VBEの起動 【Alt】+【F11】
画面を終了させる場合もついでに書いておきます。
VBEの終了 【Alt】+【Q】
慣れるとこちらのほうが便利ですね。
VBAを書く場所はどこ?
基本的に標準モジュールに記述します。
これは、Sheet1モジュールはそのシート内でしか通用しないから。
また、This Workbookモジュールはイベントプロシージャという中級者以上向けの命令を作るときに使うからです。
このへんはよくわからないと思いますが、とりあえず高度なプログラムをしない限り、標準モジュールでいいと覚えておけばよいです。
標準モジュールを出すには、VBEの画面で、挿入タブか標準モジュールを選択して、プログラムの入力画面を呼び出します。
モジュールって何?
日本語にすると、「システムを構成する機能的にまとまった部分」です。
ここで、モジュールについてイメージしやすいように例をあげます。
車を組み立てるのに、ボディのパーツのユニットと、エンジンのパーツのユニットと、内装のパーツのユニットとがあります。
これらそれぞれのユニットを集合させると一つの車になります。
このユニットにあたるのが、モジュールです。
全体をまとめると次のようになります。
車 = プロジェクト(ワークブック全体のこと)
ユニット= モジュール
部品 = プロシージャ(Sub~End Subで囲まれる、命令のかたまり)
ボルト = ひとつひとつの命令文
プロシージャについては次回に解説したいと思います。
今回はVBAを書いていく前の準備段階について説明しました。
次回より、いよいよ実際にプログラミングする際のポイントを解説していきます。
初心者にとってつまづきやすい点がどこか、リアルタイムで感じながら書いていきますので、よろしくお願いします!