- Home ›
- Excel VBA入門 ›
- 基本文法
プロパティとメソッド
Excel VBA ではオブジェクト毎にプロパティとメソッドが定義されています。プロパティを使用することでオブジェクトの設定を参照したり新しい値を設定できます。メソッドを使用することでオブジェクトに対して何らかの処理を実行させることできます。ここでは Excel VBA でプロパティとメソッドの使い方について解説します。
(Last modified: )
プロパティの使い方
オブジェクトが持っている各種情報を取得するにはオブジェクトのプロパティを使います。例えばセルに現在入力されている値や背景色など対象のセルの状態を表す各種情報を保持しているのがプロパティです。
オブジェクトのプロパティを指定するには次の構文を使用します。
オブジェクト.プロパティ名
どのようなプロパティが用意されているかはオブジェクトによって異なります。例えばセルを表す Range
オブジェクトで、セルに入力されている値を表すプロパティは Value
となります。次のサンプルではセル A1
に入力されている値を取得してイミディエイトウィンドウに出力します。
Option Explicit Sub テスト() Debug.Print Range("A1").Value End Sub
現在シートのセル A1
には "Hello" と入力されています。
実際に先ほどのプログラムを実行してみます。
イミディエイトウィンドウには "Hello" と表示されました。
今度はフォントを表す Font
オブジェクトで、文字の色を表す ColorIndex
に値を設定してみます。
Option Explicit Sub テスト() Range("A1").Font.ColorIndex = 3 End Sub
実際に実行してみます。
セル A1
の文字の色が 3 (赤)に設定されました。
このようにプロパティを利用することで、対象のオブジェクトの情報を取得したり新しい値を設定したりすることができます。
メソッドの使い方
オブジェクトに対して何か処理を実行させるときに使用するのがメソッドです。例えばワークシートを選択したり、指定したセルを削除したりする場合などに使用します。
オブジェクトに対してメソッドを実行するには次の構文を使用します。
オブジェクト.メソッド名
どのようなメソッドが用意されているかはオブジェクトによって異なります。例えばセルを表す Range
オブジェクトでは、セルを削除するメソッドとして Delete
が用意されています。次のサンプルではセル B2 を削除します。
Option Explicit Sub テスト() Range("B2").Delete End Sub
現在シートには次のように値が入力されています。
実際に先ほどのプログラムを実行してみます。
セル B2 が削除され、削除された位置には下から上へセルが移動しました。
またメソッドによっては引数を取るものがあります。引数を記述する場合は次のような構文となります。
オブジェクト.メソッド名 引数名1:=引数1, 引数名2:=引数2, ...
例えば先ほどの Range
オブジェクトの Delete
メソッドの場合、引数としてセルを削除した場合にどちらの方向へセルが移動できるのかを指定することができます。デフォルトでは下から上へセルが移動しますが、左から右へセルを移動する場合は次の様に引数を指定します。
Option Explicit
Sub テスト()
Range("B2").Delete Shift:=xlShiftToLeft
End Sub
シートに入力した値を元に戻した上で、引数を追加して修正したプログラムを実行してみます。
セル B2 が削除され、削除された位置には左から右へセルが移動しました。
このようにメソッドを利用することで、対象のオブジェクトに対して指定した処理を実行することができます。
-- --
Excel VBA でプロパティとメソッドの使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。