サイトについて      連絡先   検索

VBA クラス

はじめに

Excel VBA クラスの定義・初期化など操作する方法を紹介します。

クラスを作成すると複数の値を一つにまとめられ、それを使った関数も作成できます。

クラスは Object 型です。

クラスの追加

VBE の「挿入」をクリックして [クラス モジュール] をクリックします。

1

クラスが追加されます。

2

定義

クラスにはフィールド変数や関数を作成できます。

Public FirstName As String
Public LastName As String

Public Function MyName() As String
    MyName = FirstName & LastName
End Function

宣言と初期化

クラスを使用するには必ず New を使用してインスタンス化する必要があります。クラスは Object 型なので代入には Set を使用します。

' インスタンス化
Dim c As Class1
Set c = New Class1

' 初期化
c.FirstName = "Tips"
c.LastName = "found"

' 関数の呼び出し
Dim userName As String
userName = c.MyName ' userName には "Tipsfound" が入ります。
クラスを使用した後に必ず Nothing を設定します。これでインスタンスが確実に破棄され、メモリが解放されます。
Dim c As Class1
Set c = New Class1

' 処理

' 解放
Set c = Nothing

コンストラクタ

クラスにはコンストラクタやデストラクタはありません。代わりにイベントがあります。

(General) をクリックして [Class] をクリックします。

3

(Declarations) をクリックして取得したいイベントを選択します。

4

関連ページ