Excel-VBA プログラミング

【Excel-VBA】Private変数とPublic変数との違いとは

Excel VBAを利用していると、Private変数とPublic変数というものをよく見かけますが、この2つの違いにはどんな点があるかわからない方のために、その違いと使い方について解説していこうと思います。

Private変数って何?

Private変数とは・・・

「同モジュール内からしか利用できない変数」と覚えておきましょう。

 

Public 変数って何?

Public変数とは・・・

「どこのモジュールやシートからでも利用できる変数」と覚えておきましょう。

 

Public 変数とPrivate変数の違いとは

Private変数とPublic変数には、どのような違いがあるの解説していきましょう。

 

<Private変数とPublic変数の違いとは>

  • メモリー消費量: Public変数 > Private変数
  • Public変数は、どこからでも呼び出せる変数だが、Private変数は同Module内からしか呼び出せない。

 

Private変数とPublic変数では、まずメモリー容量を消費する度合いが全く異なります。

 

使い方をわかりやすく解説

それでは、Private変数の使い方とPublic変数の使い方をそれぞれ例をとって解説していきましょう。

Private変数の使い方

こちらを例にして解説していきましょう。

「Private B」という変数は、Module1上に記載されているため、このModule1にあるプログラム上からであれば、どこでも使用できます。

しかし、それ以外のモジュールから呼び出すことはできません。

他のモジュール、例えばmodule2に実行処理が移った時点で、変数内の情報はクリアされてしまいます。

そのため、Module間のデータの移動がない場合にのみ使用が可能です。

 

Public変数の使い方

続いて、Public変数の使い方について解説していきましょう。

下記画面をご覧ください。

「Public B」という変数は、Module2上に記載されていますが、どこのModuleからでも利用できるため、Module1にあるプログラム上からでも使用できます。

そのため、実行中は、変数に値が入っている場合は、処理が終わってもデータがクリアされることはありません。

 

 

どちらを利用するべき?

それでは、どちらを利用する方がよいのかというと、これは、Moduleをどのように整理して、ソースを記述していくかによってきますので、もし同じModuleを使用して、どのように整理するかでPublicかPrivateを使い分けるとよいでしょう。

その変数の使い分けには、下記2つの方法があります。

 

1つのModuleを使用のみでプログラムを作成する場合

  • Private変数のみでもよい

それは、同じModuleしか使用していないので、Private変数でも呼び出すことができるからです。

だから、Public変数を使用して呼び出さなくてもよいからです。

 

Moduleを複数に分割する場合

  • Public変数を使用しよう

 

逆に、Moduleを分割している場合には、Module間同士で処理が移動する場合があります。そんな時には、Public変数を使用するとよいでしょう。

 

 

Public ConstとPrivate Constの定数についても覚えておこう!(おまけ)

続いて、Public ConstとPrivate Constという定数の違いについても簡単に触れておきましょう。

この2つには下記のような違いがあります。

下記画面をご覧ください。

 

①「intE」という定数は、Module2上に記載されていますが、どこのModuleからでも利用できます。

②「intG」という定数は、Module2上に記載されているため、Module1にあるプログラム上でしか使用することができません。

 

 

まとめ

このように、Private変数とPublic変数の違いには、メモリー容量の影響がでてきます。そのため、メモリーを多く積んだPCであれば、Public変数を使用していても問題ありません。

またPublic変数を多数使っても大きな影響を受けるものではありませんが、この変数が1万個等の個数をもち、一度に処理する場合には、非常に大きな影響を受ける可能性がありますので、乱用には十分注意しながら、Public変数を使用するようにしましょう。

また上手にPrivate変数とPublic変数を使い分けながら、プログラムが記述できるようになると非常によいですね。

 

 


➡【月3万稼げる!ブログの始め方】


→当ブログをフォローして頂けると励みになります。 


楽天おすすめ商品はこちら

  • この記事を書いた人
  • 最新記事

みやさん

【サイト運営者・著者】みやさん 【実績】ライター歴7年 ブログ歴3年⇒2万PV推移中 【実務】現役プログラマー|【発信内容】▶副業やブログの始め方 ▶ライターとしてのノウハウ ▶生活の有益情報を発信しています。皆様の生活改善にご利用ください。

Copyright© 副業ケアネット , 2024 All Rights Reserved Powered by AFFINGER5.