このページでは、Excel VBAを使い始めた人から、もっとExcel VBAを使いこなしたい人まで幅広いユーザーを対象に、Excel VBA のリファレンスとそれを活用したさまざまなテクニックを紹介してゆきます。
  Excel VBAには、ものすごい数のプロパティ・メソッドがあり、どんな時にどれを使えば良いのか、良くわからないのが正直なところですね。
  そこで、よく使われるようなもの、知っているととても便利なもの、えっ、こんな事ができるの?という意外なもの、などを選りすぐってお役立ちTipsとともに皆さんにご紹介していこう、というのがこの連載の内容です。
 

   

1. セルの参照とセル番地の設定

セルの操作はExcelのメインとなる操作であり、Excelの基本操作でもあります。そのため、多くのプロパティやメソッド、関数が用意されています。セルを操作するのに必要な項目を目的別に分類してみました。
コードでセルを操作するには、セルを参照することと、セル番地を指定する操作が必要になります。
セルは、「Range」というオブジェクトとして扱われますので、これらの操作は主にRangeオブジェクト に属する、プロパティやメソッドを使うことになります。
11. ウィンドウの操作−その1

Excelに表示されている枠線やステータスバーの表示・非表示や、ワークシートを複数のウィンドウで表示する場合などは、すべてWindowオブジェクトとWindowsコレクションオブジェクトが保有するプロパティとメソッドで操作できます。
Excelのウィンドウを操作する場合は、WindowオブジェクトとWindowsコレクションオブジェクトを取得し、プロパティやメソッドの操作対象に指定する必要があります。

2. セル範囲の選択と把握

これまでは、値の代入を行うために必要なセルを参照する方法を紹介しました。
今度は、セルを選択するのに必要なメソッドや関数を紹介します。

12. ウィンドウの操作−その2

引き続き、ウィンドウを操作するテクニックを紹介しています。

3. セルのフォント書式設定

セルを操作することの1つに、セルに入力されている値や文字列の書式を調整して表を装飾する、という操作があります。フォントの設定を始め、セルの塗りつぶしや罫線の設定、文字の配置など、実に細かな操作が行えるのもVBAならではの特徴です。

13 . Applicationオブジェクトの参照と指定

VBAには、Excelそのものを表すApplicationオブジェクトというものがあります。このオブジェクトが保有するメソッドやプロパティを使用すると、Excel自身が持っている豊富な機能をコードから自由に利用できます。
Excelをコードから操作するには、Applicationオブジェクトとして把握する必要があります。

4. 文字色とセルの塗りつぶし設定

フォントの色設定とセルの塗りつぶしは、それぞれ別のオブジェクトが担当します。
色の値は、あらかじめ「カラーインデックス」という設定された色番号で指定する場合と、関数を使ってRGB3色の値を指定する方法があります。

14 . ユーザーからの入力を受け付ける

マクロ実行中に、ユーザーにファイルを選んでもらったり、ファイル名を付けて保存してもらう場合があります。
また、ちょっとした入力を受け付けたい時に使用すると便利なメソッドや関数が用意されています。
 

5. 文字位置の調整

セル内に表示されている文字の位置を調節したり、文字の大きさにセルのサイズをあわせる操作も、Rangeオブジェクトのプロパティやメソッドを使用することで可能になります。

15 . コントロールを使う
            - コマンドボタンコントロール

コマンドボタンコントロールは、すでにWindowsの操作でおなじみの、「OK」や「はい」「いいえ」「キャンセル」という表示のついたボタンコントロールです。
ボタンの形状や動作を決定するプロパティを多く持ち、ユーザーがボタンを押すことでClickイベントを発生するコントロールです。
ボタンが押された時に処理を実行したい場合は、このClickイベントプロシージャに記述します。

6. ワークシート・オブジェクトの参照・指定

ワークシートの操作も、セルに続き最もよく使う操作ですね。
この操作は、ワークシートのオブジェクトである「Worksheet」オブジェクトを使うだけでなく、Applicationオブジェクトのプロパティやメソッドも使用します。
そこで、ワークシートの操作を中心に、リファレンスと小技をお届けします。また、ワークシートにはいくつかのイベントが用意されていますので、これらを上手に使用する方法も紹介します。
ワークシートオブジェクトの各プロパティやメソッドを使用する場合は、ワークシートをオブジェクトとして参照する必要があります。

16 . コントロールを使う
            -
テキストボックスコントロール

テキストボックスコントロールは、ユーザーからの入力を受け付けるコントロールです。
コントロールに入力された値は、文字列のデータとして取得できます。
また、このコントロールは、ワークシート上に配置した場合だけ、プロパティの設定でワークシートのセルと連動して、値の入出力を行うことができます。

7. ワークシートの追加・削除・コピーとセルの操作−その1

Excelでは、ブックにワークシートを追加・削除したり、シートを丸ごと他のブックにコピーすることができます。これらの機能は、もちろんVBAを使って、コードから実行することができます。
また、Worksheetオブジェクトにはたくさんのプロパティやメソッドが用意されていますが、その中にはセルを操作するものがあります。ここでは、知っていると便利なものをいくつか紹介します。

 
8. ワークシートのその他の処理

その他、ワークシートの再計算や印刷処理など、VBAからワークシートを操作するプロパティやメソッドを紹介します。
 

 
9. ブックの操作−ブックオブジェクトの参照

Excelのブックも1つのオブジェクトとしてVBAから操作できるようになっています。
ブックのオブジェクトが保有するメソッドやプロパティには、ブックの保存や読み出し、ユーザー情報や共有設定など、いろいろな機能を操作するものが用意されています。
まずは、ブックをオブジェクトとして参照する操作に必要なプロパティを紹介します。

 
10. ブックの保存と読み出し

ブックの読み出しや上書き保存、名前を付けて保存、という操作もVBAのコードから実行できます。
また、ブックに関する情報を取得したり、ブックの共有操作についてもコードから操作できます。