Excel VBA

Excelの基本的な構造

 Excel VBA では Excel のさまざまな操作を自動化できますが、まずは Excel の基本的な構造を確認してみます。

Excelの基本はワークブック

 Excelでは基本的にファイル単位でプロジェクトを管理します。1つの Excelファイルが1つのプロジェクトです。

 このプロジェクトをワークブック(Workbook)と呼びます。このワークブックには、いくつかの種類がありファイルの拡張子で区別されます。主な違いは標準でマクロが利用できるかどうかという点です。

.xlsx
Excelブック
標準のワークブック(マクロは利用できない)
.xlsm
Excelマクロ有効ブック
マクロが利用できるワークブック
.xls
Excel97-2003 Excelブック
Excel2003より以前のワークブック(マクロは有効)

 なぜ、マクロの利用可能と不可能で拡張子が変わっているかというと、セキュリティに配慮しているからです。一時期、Excelの VBAや Windowsのスクリプト機能を利用したウィルスが作成され、ファイルを勝手に削除されたり、機密情報を勝手に送信するなどの被害が出て問題になりました。そこで、マクロ(VBA)を含むワークブックが異なる拡張子に変更されました。これにより明確にブックがマクロを含むかどうかを区別できるようになりました。

 これに加えて、今ではダウンロードしたワークブックなどを誤って開いた場合でもマクロが勝手に実行されない仕組みになっています。「マクロ有効ブックを開く」で書いたように「セキュリティの警告 - マクロが無効にされました。」と表示されます。この場合「コンテンツの有効化」のボタンをクリックすると使えるようになります。

ワークブックには複数のシートがある

 ワークブックには、複数のワークシート(Worksheet)を作成できます。1枚のワークシートは縦横2次元の表です。Excelが『表計算ソフト』と言われるのは、この基本的なワークシートの表を利用するからです。

 また、ワークシートの2次元の表の中の1つのマス目を指してセル(Cell)と呼びます。そして縦列をカラム(Column)、横行をロウ(Row)と呼びます。こうしたワークシートに関連する用語は、繰り返し出てくるのでまとめてみます。

ワークブック(ブック)
Workbook
Excelのファイル1つを指す
ワークシート(シート)
Worksheet
ブックの中にあるシート
カラム(列/縦列)
Column
シートの縦列を指す
ロウ(行/横行)
Row
シートの横行を指す
セル
Cell
シートの1つのマス目を指す

行と列の向きについて

 行は横方向、列は縦方向を表しています。行と列のどちらがどちらなのかわからなくなってしまったら、幹事を思い浮かべると役に立ちます。「行」という字に注目すると、上に横向きの線が2本あります。そして、「列」という字に注目すると、右側に縦向きの線が2本あります。このように覚えれば行と列で悩むことはなくなるかもしれません。

セル名について

 A1 や B2 と言った「セル名」を使ってセルの位置を表現します。Excel成功の秘訣の1つと考えられるのが、このセル名を使ったセル位置の表現方法です。

 Excelではワークシートの列を A,B,C,D...と表現し、行を 1,2,3,4...と表現します。つまり、1列目1行目のセルを「A1」と言い、1列目2行目を「A2」と言います。3列目5行目は「C5」です。

 実によく考えられた分かりやすい表現方法です。もしもセル位置を (3, 5) などと書いた場合、(列, 行) あるいは (行, 列) 、どちらの意味なのか悩むことになってしまいます。しかし、「A3」とだけ書けばすぐに1列目3行目と特定できます。