【基礎】VBAで初めてのクラスモジュールを作ってみよう

クラスモジュールを使えれば...

  • 短いコードで質の高いコードが書けたり
  • 自作Excel関数を作れたり

今回はクラスモジュールのメリットと1番簡単な作りかたを紹介していきます。

VBAクラスモジュールのメリットとは?

・クラスモジュール3つのメリット

  • 標準モジュールを短いコードで管理できる
  • コードが多くなっても修正しやすい
  • 使いまわしができて、わざわざ1から書かなくてよくなる

順に説明していきます。

メリット1: 標準モジュールを短いコードで管理できる

クラスモジュール化すると、標準モジュールにたくさんコードを書かなくてすむ。クラスモジュールで一定の処理をまとめて管理できるから。

可読性はばつぐんによくなり、ぐちゃぐちゃした見にくいコードにならないで済む。

メリット2: コードが多くなっても修正しやすい

クラスモジュールにすれば、バグがでたときにどこを修正すればいいか早く分かる。クラスモジュールでバグがでたらそのクラスモジュール内を変更するだけ。

functionをつくるより、より質の高いコードを作りたいなら作るべき。

メリット3: 使いまわしができて、わざわざ1から書かなくてよくなる

1度クラスモジュールを書いてしまえば、どんな場面でも使いまわしが可能。わざわざ1から書かなくていい複雑な処理をクラス化すれば、次使うときは入れるだけ。

あとは簡単な設定をすればOK。圧倒的な時間短縮になる。

例としてVBAで定時/残業の給与計算を自動化する【Excel関数みたいに使えて便利】でクラスモジュールを使った給料計算を自動化するコードを書いてるのでどうぞ。

VBAクラスモジュールの1番簡単な作りかた

・流れは3ステップでOK

  1. VBEを起動してクラスモジュールをつくる
  2. クラスモジュール名の変更・コードを入力
  3. クラスモジュールが動いてるか確認

そしたら、順に説明していきます。

Step1: VBEを起動してクラスモジュールをつくる

  1. Excelを開いて『Alt + F11』を押す
  2. VBEが起動したら、『Ctrl + R』でプロジェクトエクスプローラーを開く
  3. Microsoft Excel Objectsを右クリック→挿入→クラスモジュールをつくるMicrosoft Excel Objectsを右クリック→挿入→クラスモジュールをつくる

Step2: クラスモジュール名の変更・コードを入力

  1. 『F4』または、表示→プロパティウインドウを押してプロパティをだす『F4』または、表示→プロパティウインドウを押してプロパティをだす
  2. クラスモジュールのオブジェクト名『Class1』から『FirstClass』に変更クラスモジュールのオブジェクト名『Class1』から『FirstClass』に変更
  3. クラスモジュールに次のコードを入力する
    Public Sub firstGreeting()
    
        MsgBox "Hello first class."
    
    End Sub
    

Step3: クラスモジュールが動いてるか確認

  1. Microsoft Excel Objectsを右クリック→挿入→標準モジュールをつくる
  2. 『Module1』に下記コードを入力
    Public Sub myFirstGreeting()
    
        Dim person As New FirstClass
        person.firstGreeting
    
    End Sub
    
  3. 『F5』でマクロの実行を押してメッセージがでてくればOK

最初にDimで作ったクラスを定義するけど、AsのあとにNewをいれるのを忘れずに。『.』以降でさっき作ったfirstGreeting()を呼び出せすことが可能。

まとめ: クラスモジュールで再現性の高いコードを書こう

クラスモジュールが書けるようになるとファイルが変わってもコードを使いまわせる。短いコードで修正が簡単なコードになるから、レベルアップ間違いなし。

どんどんクラス化して質の高いVBAコードを作ろう。

・もっとVBA学びたい人向け記事↓

あなた向け最短できれいなコードが書きたいならこの本を読めばいい

関連キーワード