VBAモジュールを分ける意味はたった1つ【具体例あり】
VBAモジュールを分ける意味はたった1つだけ

難しく考えないでいいです。
さて、そのたった1つの意味とはなんなのか、具体例もあわせて話していきましょう。

VBAモジュールを分ける意味はこれだけ

VBAのモジュールを分ける意味は「見やすくグループ分け」するため。

たとえばガストに行ってメニュー見るじゃないですか。

ふとハンバーグメニューを見たら、なんとチーズインハンバーグがないんですよ。

あれって思ったら5ページ目のデザート欄に。
「いや、ハンバーグのメニューぐらいまとめておけよ」って思いますよね。

モジュールもそんな感じ。

VBAモジュールの分けかた【具体例】

今回はレストランのメニューで考えてみましょうか。

たとえばMeatDish[肉料理]っていうモジュールがあった場合。

Sub chickenDishMenu()
    とり肉料理のメニュー一覧
End Sub


Sub porkDishMenu()
    ぶた肉料理のメニュー一覧
End Sub


Sub beefDishMenu()
    ぎゅう肉料理のメニュー一覧
End Sub

とり、ぶた、ぎゅうが肉なのは分かりますよね。

じゃあここに次のメニューが入ってきたらどうでしょう。

Sub mackerelDishMenu()
    サバ料理のメニュー一覧
End Sub

肉料理のモジュールなのにサバが入ってきました。

明らかに魚料理なんでFishDish[魚料理]っていう新しいモジュールをつくるほうがいいですよね。

はい、簡単な具体例はこんな感じ。

他のモジュールを今のモジュールで使いたい場合

もしかしたら肉料理モジュールに魚料理モジュールのSubを使いたいときがくるかもしれない。

そんなときは「Call モジュール名.Sub名」でOK。
たとえば次のような感じ。

Sub chickenDishMenu()
    Call FishDish.mackerelDishMenu
    とり肉料理のメニュー一覧
End Sub


Sub porkDishMenu()
    ぶた肉料理のメニュー一覧
End Sub


Sub beefDishMenu()
    Call FishDish.mackerelDishMenu
    ぎゅう肉料理のメニュー一覧
End Sub

これで、とり、ぎゅうのメニューにサバが追加されますね。

まとめ: VBAはモジュールを分けて書いてみよう

  • VBAモジュールは「見やすくグループ分け」
  • 他のモジュールを使うときは「Call モジュール名.Sub名」

モジュールに処理を追加したいときにも便利。
なので、ざっくりでもグループ分けして見やすいモジュールにしていこう。

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

事務作業を自動化してもっと"ラク"しませんか?

あなたの会社の事務作業...効率化してラクに。もっと重要な業務に集中できるようになります。

日々増えるルーティンの事務作業...
「この作業めんどくさい...」
「事務作業に時間をとられて他に集中できない...」

あなたの代わりにVBAを使ってパソコン業務を自動化。あなたはもっと価値のあることに時間を使うことができるため売上UP、ムダなコストの削減が期待できます。

また、作って終わりではなくつぎの3つのことを約束します。

  • しっかりドキュメント作成
  • きれいな見やすいコードでムダな工数カット
  • できるだけボタン1つポチッと押すだけで業務が完了

どんなにささいなめんどくさい事務作業でも相談してください。相談は無料です。
3年の業務効率化実績があるため、力になれるかもしれません。

※件名には「業務効率化の相談」と記載ください。できるだけ24時間以内に返信します。