検索

キーワード


目次

【Excel VBA】変数の宣言を必須にする方法

  • 公開日:2023-06-19 10:14:25
  • 最終更新日:2023-06-18 20:45:27

Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!

フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。

皆さん、こんにちは エンジニアのIMMRです。

例えば、下記のようなサンプルブックがあったとします。


図1 サンプルブック

図1 サンプルブック


これは、セル「A2」に金額(数値)を入力して、プログラムを実行すると2割引き価格がメッセージボックスにて表示されるものです。

プログラムは以下の通りです。


図2 プログラム1

図2 プログラム1

変数の宣言はなくても実行は出来るため、下記のようにすることも可能です。そのため下記のプログラムでも問題ないです。


図3 プログラム2

図3 プログラム2

セル「A2」の箇所に”1000”という数値を入れて実行してみます。

プログラム1とプログラム2の実行結果は、下記のようになります。


図4 プログラム実行結果1

図4 プログラム実行結果1


1000の8割がメッセージボックスで800が表示されるので正しいですよね。

では下記のプログラムはどうでしょう?


図5 プログラム3

図5 プログラム3

先ほどと同様にセル「A2」の箇所に”1000”という数値を入れて実行してみます。

プログラム3の実行結果は、下記のようになります。


図6 プログラム実行結果2

図6 プログラム実行結果2

このように何も表示されない結果となります。

図3 プログラム2と図5 プログラム3は

同じように見えますがなんで?と思うかもしれないです。


実は、2つめのプログラムのPrice80の箇所を確認すると

Price80 = Price * 0.8  → Price80(ハチ ゼロ[数字])

MsgBox Price8O    → Price8O(ハチ オー[アルファベット])

と名前が異なるからです。

Price80(ハチ ゼロ[数字])に値を格納しているのに

メッセージボックスでは何も格納していないPrice8O(ハチ オー[アルファベット])を表示しています。

そのため、メッセージボックスでは、ブランクが表示されてしまいます。


図5 プログラム3でのPrice80とPrice8Oでは

似ているので見間違えることもありますよね。

言われて良~く見ると異なっているのがわかりますが、言われなかったら気づかないと思います。 ※私も見逃すと思います。・・・


このように変数の宣言を必須にしないと思わぬ結果が出力されて、

確認作業が増えてしまいます。

変数の宣言を必須にすると今回のような記載ミスを気付くことができます。

そのためにも変数を宣言を必須にしたほうがよいのです。


1.変数の宣言を必須にする

変数の宣言を必須にする方法は下記の流れでおこないます。


①「ツール」→「オプション」を選択する。

図7 設定操作1

図7 設定操作1

②「編集」→「変数の宣言を強制する」にチエックを入れる。

③「OK」を押下する。

図8 設定操作2

図8 設定操作2

これで宣言の必須の設定完了です。

これにより、「Option Explicit」という文章がプログラムの上に記載されます。


図5のプログラム3に 変数の宣言文をいくつか追加したものが下記になります。


図8 プログラム3ー2

図8 プログラム3ー2


2.変数の宣言を必須にする(実行)

それでは、上記プログラムを実行してみます。


図9 プログラム3ー2実行結果

図9 プログラム3ー2実行結果


エラーの起きたメッセージボックスの変数「Price8O」は変数の定義が出来ていないということは

変数で宣言した「Price80」と異なるものであることがわかります。

変数宣言が出来ていないことでエラーメッセージを表示されるのです。


これにより、変数の宣言を必須にすることができました。


【著者】

Imamura

「挑戦心」を忘れずに、新しいことにチャレンジしています。 資格:VBAエキスパート Excel VBA(ベーシック/スタンダード) 等

編集した記事一覧

正社員/フリーランスの方でこのようなお悩みありませんか?

  • 自分に合う案件を定期的に紹介してもらいたい
  • 週2、リモートワークなど自由な働き方をしてみたい
  • 面倒な案件探し・契約周りは任せて仕事に集中したい

そのような方はぜひ、Workteriaサイトをご利用ください!

  • 定期的にご本人に合う高額案件を紹介

  • リモートワークなど自由な働き方ができる案件多数

  • 専属エージェントが契約や請求をトータルサポート

よく読まれている記事