Excel VBAマクロとは?
マクロとは?
Excelに対して、VBAにより記述された命令を実行を行っているものです。さて、VBAとは何か。
VBAは、Visual Basic for Applicationという言語の略称です。
Visual Basicとは御存知の通り、Windowsのためのプログラミング言語です。
VBAはその派生系で、アプリケーション(この場合は、Excel)にも、使えるように応用したものです。
Excelの強力な便利機能というイメージで捉えていただいて構いません。
その、便利機能を作成するのがユーザーであることが特徴です。
VBAに触れてみる
※環境はExcel2003です。また個人的な趣味で、インデントは2で記述しています。
VBAの記述をいきなりマスターするのは難しい(というか私の全くの初心者ですが)ので、
まずは、Excelの機能によって、VBAを記述してもらいましょう!!
ツール(T) => マクロ(M) => 新しいマクロの記録(R)
こちらを実行していただき、適当な名前をつけて、マクロを登録します。
Excel上で、適当な挙動をしてみます。
すると、その挙動をVBAで表したものがVBE(Visual Basic Editor)に記述されていきます。
VBEは、Alt + F11で見られます。
重要なことは、自分が行った挙動がVBEにVBAで記述されることです。
プロシージャとは?
VBAを触る当たって、避けて通れないのが"よくわからないカタカナ語"です。VBAも立派なプログラミング言語なので、ちゃんとした概念を持ち、それに意味を持たせる言葉を持っています。
ですので、"よくわからないカタカナ語"が、出てきた時は、チャンスだと思ってください。
VBAをより深く理解するきっかけだからです。
それでは、プロシージャとは?という本題に戻ります。
先程、新しいマクロの記録(R)で登録していただいたマクロのVBA記述を見てください。
Sub Macro1 ' あなたが行った挙動をVBAに書き起こした記述 End Sub
Sub 〜 End Subで囲われているのがわかるでしょうか?
このSub 〜 End Subで囲われた部分(SubやEnd Subも含む)ものをプロシージャと呼びます。
この場合のプロシージャ名は「Macro1」です。
マクロは、一つまたは、複数のプロシージャから構成されることとなります。
ちなみに、プロシージャにはSubプロシージャとFunctionプロシージャがあります。
参照:http://members.jcom.home.ne.jp/rex-uchida/vba060.htm
Functionプロシージャは「関数」とも呼ばれ、プロシージャの実行結果を「値」として返します。
順々に処理を実行して終了するのがSubプロシージャで、なんか計算とかさせて何かしら答えを得るために実行するのがFunctionプロシージャです。
Ruby on Rails で言うところのSubがControllerでFunctionがModelといったところでしょうか?
ワークシート関数とVBA関数
- ワークシート関数
ワークシート内で使用している関数
以前、私がまとめたものの総称ですね。
参照:エクセルを使うなら必須の関数 - mic_footprints
セルの中に=から書き始めるものですね。
- VBA関数
マクロ生活を送る上で、メインに使用する関数
最もカンタンで有効なVBA関数を紹介します。
MsgBox関数
自分で書いて実行してみるとわかりますが、MsgBox関数は、メッセージボックスをExcel内に表示します。
Sub Macro2 MsgBox "Excel VBAマクロとは?" End Sub
まとめ
実際に記述していただければ、意外とカンタンだったのではないでしょうか?実は、このようなMsgBoxのみを使用したマクロも立派なプロブラムです。
というわけで、これで、VBAプログラマとしての第一歩を踏み出したことになりますね☆
最後まで、お読みいただきありがとうございました。
ツッコミ等ございましたら、お気軽にどうぞよろしくお願い致します。
やさしくわかるExcel関数・マクロ 改訂版 (Excel徹底活用シリーズ)
- 作者: 西沢夢路
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2007/07/25
- メディア: 大型本
- 購入: 1人 クリック: 84回
- この商品を含むブログ (13件) を見る