Excel VBA 変数を自由に扱いたい

  1. モジュール変数・パブリック変数

モジュール変数・パブリック変数

プロシージャの中で宣言した変数は、宣言したプロシージャの内でしか使用できません。このような変数を「ローカル変数」と呼びます。

しかし、ときには複数のプロシージャで同じ変数を使いたいこともあります。1つのモジュール内にあるすべてのプロシージャで同じ変数を使えるようにするには、モジュール内の「宣言セクション」で変数を宣言します。

「宣言セクション」とは、モジュールの先頭から最初のSubプロシージャまたはFunctionプロシージャまでの間です。

予想通り、モジュール変数は他のモジュールで使用できません。まず、この点を理解してください。

では、すべてのモジュールで使用できる変数を宣言するときは、どうしたらいいのでしょう。それには「Public」という命令を使って変数を宣言します。

ただ、今回はモジュール変数を利用します。


【練習問題11】

 文字列変数「str」が同一モジュール内で使用できるように宣言をして、確認できるプログラムを作成します。

サンプルデータvba-exercises.xlsm「VBA練習問題」をダウンロードして保存しておいてください。


【解答例】


【参考】

モジュールには「標準モジュール」のほかに「クラスモジュール」、ワークシートごとに対応した「シートモジュール」、ブックに対応した「ブックモジュール」そしてフォームに付属した「フォームモジュール」があります。