はじめに

本稿は、Excelで表を自由に作成できるようになって、「もう少し作成を楽にしたい」と考えている方たちを対象にしています。本稿を通じて、Excel VBAがいかに皆さんの作業を楽にしてくれるかを実感して頂ければ幸いです。

VBAの概要から始めて、日々の表作成の自動化や他のソフト、Accessなどとの連携を自由に操るまでを目指しています。今回はその取っ掛かりとして、「VBAとはどんなものなのか?」を、Excel 2007を使って体験してもらいたいと思います。

VBAとは?

VBA(Visual Basic for Application)は、Microsoft Officeのソフト群(WordやPowerPoint、Access等)の操作を自分流にカスタマイズできるように、標準で組み込まれているプログラム言語です。

VB(Visual Basic)と名前が付いているように、Basic言語です。ExcelのVBAにはExcelを使いやすくするために、独自の関数が設定されています。同じように、WordやPowerPointもそれぞれが便利に操作できるようになっています。そのため、それぞれのVBAの説明書を読んだ時、まったく違うものに感じるかもしれません。ですが、基本は同じBasic言語です。VBAの書き方を順に説明していきたいと思います。

VBAの役割

VBAはとにかく"楽"をするための道具です。楽をするためにはその使い方を覚えなければいけません。とにかく例題にあるプログラムを打ち込んでみて、動いた時は"感動"ものです。"感動"を経験すると覚えようという意欲がわいてきます。VBAの役割は、まず毎日やっている同じ操作をボタン一つでできるようにすることです。毎日1時間かかっていた作業が10分で終わる…かもしれません。

たとえば、別の表にバラバラに書いてあるデータを集計して、表にまとめたい時など、目で追いながら探すのは大変です。VBAを使えば、瞬時に集計してくれます。会社内では、Accessを使っての業務が動いている。自分はExcelの表の中に、Accessのデータの一部を引用したいといった場合、毎回担当者に頼んでデータを貰うのも煩わしい、などといったケースはよくあることだと思います。VBAでちょっと参照させてもらえると、必要な時、いつでもほしい"表"が作成できます。しかし、会社の大事なデータだと簡単には参照できないでしょうから、担当者との連絡を密にする必要が出てくるかもしれませんが。

VBAを使うための設定

Excel2007になって、メニュー表示が変更になりました。従来[ファイル]メニューにあったものが[Officeメニュー]タブといわれる所にまとめられ、他の作業メニューはタブを選択して表示されるツールバー(リボンと呼ばれる)にまとめられました。

図1 Excel2007最初の画面

初めてExcel2007を立ち上げた時はVBAを作成するためのタブが、ツールバーに表示されていません。VBAを利用するには、まず以下の手順に従って、[開発]タブを表示させる必要があります。

図2[開発]タブ表示の手順.1

図2[開発]タブ表示の手順.2

図2[開発]タブ表示の手順.3