エクセルマクロ(EXCEL VBA) その2 初めてのマクロを作る
エクセルマクロの基本を書き記してみます。
エクセルマクロその1を書いた後、「うちの社員にもエクセルを覚えてもらったら何か業務の役に立つんじゃないだろうか」と考え、仲間に声をかけ何回か講義してみたところ、すぐに役には立たないまでも、面白がって学んでくれました。
ということは、演劇の制作をやっている方にももしかしたら受け入れられて、面白く学んでもらえるかもしれないので、講義で話した基本の部分を書き記しておこうと思います。
エクセルのマクロはうまく身につけられれば、きっといろいろなところで役に立ちます。エクセルやCSVデータみたいなのをよく扱っている方は、是非基本を覚えて、《自分の業務を少しだけ楽にしてくれる細かいマクロ》を作れるようになってみてください。
とはいえ、僕はエクセルマクロのエンジニアではないので、少々いい加減です。
『まあ、問題なく動けばいい』と考えてやっているところがあるので、本職のエンジニアさんからおしかりを受けそうな感じもしますが、そこはご了承ください。
初めてのマクロを作る
エクセルマクロその1 でやった自動記録でマクロを作った方にとっては2度目ですが・・・。
ゼロから作るという意味において初めてのマクロです。
まず、開発タブ→Visual Basicをクリックします。
※開発タブが無いよ!という方はエクセルマクロその1に出し方が書いてあるのでご参照ください。
次に、挿入→標準モジュールをクリックします。
そうすると、こういう空のウィンドウが出てきます。
ここにコードを打っていくことになります。
では早速、
sub test1
と打ち込んでみましょう。
打ち込めたらENTERを押します。
すると、勝手に
Sub test1()
End Sub
となったと思います。
ここで、test1というのは、このプログラム(プロシージャと言ったりします)の名前になりました。
()の意味は、まあ、気にしないことにしましょう。
では続いて、
Sub test1()の下に、
MsgBox "Hello world!"
と打ち込んでみましょう。
すべて半角英数小文字で打ち込んでください。
ちなみに、msgbox は、半角英数小文字で打ち込んでください。その後、カーソルで行を移動すると勝手にMとBが大文字になりますよね? そうなれば正解です。 小文字のままだったりすると、何かつづりが間違っているかもしれません。
打ち込めたら、ツールのところにある再生ボタンっぽいマークをクリックしてください。
すると、ひとりでにエクセルに戻って
こういうのが出てきます。
出てきましたか?
おめでとうございます!
メッセージボックスを出すマクロの完成です!!
もう一回、コードの情報を見てみると、
Subのすぐ後ろに書いてあるtest1というのが、このプロシージャの名前です。
そして、
Subと、End Subにはさまれた部分に命令が書かれています。
命令の内容は、メッセージボックスに「Hello world!」と出すというものです。
なおここで作ったマクロは、エクセル側から
開発→マクロ→test1→実行とクリックしても実行できます。
次回は、セルの指定について書こうと思います。
今回の最終的なコード
Sub test1()
MsgBox "Hello world!"
End Sub
宿題-2
メッセージボックスで「完了!」と出すものを作ってください。
エクセルマクロ(EXCEL VBA) その3 セルの指定(Range)
(文:森脇孝/エントレ)