プロパティとメソッド

Excel VBA ではオブジェクト毎にプロパティとメソッドが定義されています。プロパティを使用することでオブジェクトの設定を参照したり新しい値を設定できます。メソッドを使用することでオブジェクトに対して何らかの処理を実行させることできます。ここでは Excel VBA でプロパティとメソッドの使い方について解説します。

(Last modified: )

プロパティの使い方

オブジェクトが持っている各種情報を取得するにはオブジェクトのプロパティを使います。例えばセルに現在入力されている値や背景色など対象のセルの状態を表す各種情報を保持しているのがプロパティです。

オブジェクトのプロパティを指定するには次の構文を使用します。

オブジェクト.プロパティ名

どのようなプロパティが用意されているかはオブジェクトによって異なります。例えばセルを表す Range オブジェクトで、セルに入力されている値を表すプロパティは Value となります。次のサンプルではセル A1 に入力されている値を取得してイミディエイトウィンドウに出力します。

Option Explicit

Sub テスト()
    Debug.Print Range("A1").Value
End Sub

現在シートのセル A1 には "Hello" と入力されています。

プロパティの使い方(1)

実際に先ほどのプログラムを実行してみます。

プロパティの使い方(2)

イミディエイトウィンドウには "Hello" と表示されました。

プロパティの使い方(3)

今度はフォントを表す Font オブジェクトで、文字の色を表す ColorIndex に値を設定してみます。

Option Explicit

Sub テスト()
    Range("A1").Font.ColorIndex = 3
End Sub

実際に実行してみます。

プロパティの使い方(4)

セル A1 の文字の色が 3 (赤)に設定されました。

プロパティの使い方(5)

このようにプロパティを利用することで、対象のオブジェクトの情報を取得したり新しい値を設定したりすることができます。

メソッドの使い方

オブジェクトに対して何か処理を実行させるときに使用するのがメソッドです。例えばワークシートを選択したり、指定したセルを削除したりする場合などに使用します。

オブジェクトに対してメソッドを実行するには次の構文を使用します。

オブジェクト.メソッド名

どのようなメソッドが用意されているかはオブジェクトによって異なります。例えばセルを表す Range オブジェクトでは、セルを削除するメソッドとして Delete が用意されています。次のサンプルではセル B2 を削除します。

Option Explicit

Sub テスト()
    Range("B2").Delete
End Sub

現在シートには次のように値が入力されています。

メソッドの使い方(1)

実際に先ほどのプログラムを実行してみます。

メソッドの使い方(2)

セル B2 が削除され、削除された位置には下から上へセルが移動しました。

メソッドの使い方(3)

またメソッドによっては引数を取るものがあります。引数を記述する場合は次のような構文となります。

オブジェクト.メソッド名 引数名1:=引数1, 引数名2:=引数2, ...

例えば先ほどの Range オブジェクトの Delete メソッドの場合、引数としてセルを削除した場合にどちらの方向へセルが移動できるのかを指定することができます。デフォルトでは下から上へセルが移動しますが、左から右へセルを移動する場合は次の様に引数を指定します。

Option Explicit

Sub テスト()
    Range("B2").Delete Shift:=xlShiftToLeft
End Sub

シートに入力した値を元に戻した上で、引数を追加して修正したプログラムを実行してみます。

メソッドの使い方(4)

セル B2 が削除され、削除された位置には左から右へセルが移動しました。

メソッドの使い方(5)

このようにメソッドを利用することで、対象のオブジェクトに対して指定した処理を実行することができます。

-- --

Excel VBA でプロパティとメソッドの使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。