初めての VBA (2)

本ページの Excel 2007 対応ページはこちら


前ページで記述した VBA ソースコードをもとに若干の補足を加えてゆく。

プログラムの実行

記述したプログラムを表示させよう (前ページに従い、Visual Basic Editor を起動)。

このプログラムを実行する前に、マウスカーソルが下図のように 「prog1() プロシージャ」内にあることを確認しよう。
(Sub prog1() 〜 End Sub の間のこと)

なお、「プロシージャ (procedure:手続き)」という用語の意味は後の講義で明らかになるが、早く VBA の用語に慣れるために、
今後も積極的にこの言葉を使っていく。



この場合、問題なくプログラムが起動することがわかるであろう。

次に、マウスカーソルをわざと prog1() プロシージャの外に出してプログラムを実行してみよう。



今度は以下のようなダイアログが現れる。
これは、実行するプロシージャが prog1() で良いかどうかを尋ねているのである。

もちろん、prog1() を実行して構わないので、「実行」ボタンをクリックする。



一つのプログラムに複数のプロシージャがある場合 (いずれ学ぶ) 、 上のようなダイアログが現れて実行するプロシージャを選択することができる。
このダイアログが出ても慌てないようにしよう。



複数行を一行に

今、記述したプログラムを一行にまとめることを考えてみる。

具体的には、以下のように 3 行を「: (コロン)」でつないで記述する。確認してみよ。



このコロンがないとプログラムが正しく実行できない。
これでわかるのは、「Visual Basic では、各命令は行単位で区切られていなければならない」ことである。

そして、1行ごとに分かれているべき複数の命令を1行にまとめたいときはコロンを用いる。

[補足] (プログラミングに興味がある人向け。そうでない人は読み飛ばして構わない)

このように、Visual Basic というプログラミング言語では基本的に行で命令を区切るのであるが、
C/C++/Java/C# などの言語では、行ではなく命令間を「; (セミコロン)」で区切る。




一行を複数行に

逆に、一行に書くべき命令を複数行に分けて書きたい場合はどうすればよいだろうか。
その場合、下図のように命令を区切る場所で「_ (アンダーバー)」を記述すれば良い。



長い命令を書かねばならないとき、このように複数行にわけて見やすくすることはしばしば行われる。



コメント文

プログラムのソースコード中に、コメント文を挿入したいことがしばしばある。
(「コメント文」とは、ソースコード中で実行されずに無視される文のことである)

長いプログラムを書いている時、「この命令はどういう意図で書いたのか」を コメント文として残しておくと後々便利である。

コメント文は以下のように 「' (アポストロフィ)」によって書き始める。
アポストロフィから行末まではコメント文として無視される。





←初めての VBA (1)[応用] ボタンからのプログラムの起動→

Excel / OpenOffice で学ぶ Visual Basic for Applications (VBA)に戻る