2020年1月26日VBA覚え書きです。何回か前に初心者がしておくことをおすすめするVBEの設定について紹介し、そこで変数の宣言を強制する設定が特に大切と書き残しました。エクセルVBAのプログラミングの挑戦にあたり再確認思い出すことをもういちど基礎から復習しています^^【IT】Excel(エクセル)VBAでプロ...今回はその理由や意味についてまとめていきます。変数の宣言について、VBAを取り上げている記事や雑誌では必ずしなければならないと言っている人もいればする必要がない、むしろしないほうがいいという人もいてたびたび議論になっています。私は先生から「”絶対に”してください」と教わっているので毎回するようにしてます。(未だによく忘れてプログラムに怒られてますが笑)その理由を忘れないように書き留めたいと思います。変数の宣言をしないといけない理由は主に2つ変数の宣言を強制しないといけない理由は、変数の宣言をしないと大変まずいことになってしまう可能性があるからです。先生も記事も雑誌でも、変数の宣言をすべきと考える理由は主に次の2つ、もしくはどちらかを挙げています。理由1:後から見た人がどんな変数を何に使っているかわかりやすい変数を宣言しなくても自動的に何でも格納できるVariant型が割り当てられることは前回説明しました。作成したプログラムのソースを見るのは作成者だけとは限りません。後から他の人がメンテナンスや機能の追加で見る可能性もあります。そんな時に前触れもなく突然いろんな変数が出てきたら混乱してしまうかもしれません。作成者にしかわからないオリジナル変数名や紛らわしい変数が出てきたら先々でエラーが発生する原因になってしまう可能性もあります。そこで「変数●●は××型として使います」と変数を宣言することで誰が見てもわかりやすいプログラムになるというのが1つ目の理由です。こちらはどちらかといえば変数を宣言したほうがいい理由になります。しないと大変まずいことになってしまう可能性があるのは次です。何でも格納できるという便利さが裏目に出てしまうことがあります。次のようなプログラムを作成したとします。Subhensuu1に1を、hensuu2という変数に2を格納して足した結果をセル(1,1)に出力します。合っていたら1+2で3になるはずです。プログラムをよく見ると足し算の式でタイプミスをしてしまい、2を格納したhensuu2ではなくhensu2となっています。このミスに気付かずに実行してしまいます。すると、タイプミスがあったのでエラーが発生すると思いきや何も起きません。結果も3ではなく1になっています。変数の宣言を強制していれば、プログラムを実行した時にhensu2という変数が宣言されていないことにコンピュータが気付いてエラーメッセージで教えてくれます。宣言しなかったことで自動的に変数hensu2が誕生し、Variant型が割り当てられてしまったのです。hensu2には何も格納されていないので1+0で1となってしまいました...エラーが発生したら原因を特定して修正をかければ解決しますが、気付けないということが大変危険です。大規模な会社の売り上げ管理プログラム等で今回のようなミスを見落としたまま運用を続けてしまうと最後に合わなくなってしまい正確な計上が出来なくなってしまったり、信用に関わる大きなトラブルに繋がってしまうこともあります。大げさな例ですが初期の小さな穴を見落としてしまうことで将来的に取り返しのつかないことになってしまう可能性もあります。言われてビビったので必ず変数の宣言をするようにしています。Explicit」で変数の宣言を強制する意味やしたほうがいい理由など、実際に教わったことを交えて説明しました。強制したほうがいい理由というよりは宣言したほうがいい理由になりますね。最初のほうはプログラムを動かそうとするたびにエラーメッセージが出てきてストレスになることもあるかもしませんが、思わぬミスを未然に防げるので初心者こそ設定しておくことをおすすめします。ありがとうございました。関連記事VBAプログラミング【VBA】変数のデータ型とその種類、格納できる値の範囲VBAプログラミング覚え書きの前回からの続きになります。Windowsのパソコンを触る人であればほとんどの人が知っているであろうマイクロソフトofficeの「エクセル」。仕事をする中で売り上げの管理やグラフを使った会議用の資料など、その用途は様々ですがそんなエクセルを日々使う中でこんなことを聞いたことは無いでしょうか。...VBAプログラミング【VBA】Dimステートメントで変数を宣言してデータ型を指定VBA覚え書きです。サラの逆襲【VBA】変数のデータ型を「Integer」と「Long」で使い分ける理由https://ennmelo.com/wp/2017/10/25/hensuu-suuti/前回のVBAプログラミング覚え書きでは「変数のデータ型」について書き留めました。IT企業に転職し、1年半が経ちました。業界に馴染んだり基礎知識を身に着けるための準備期間といわれていました。次のステップ【プログラミング】に進むことになりました。前回のVBAプログラミング覚え書きでは「変数のデータ型」について書き留めました。サラの逆襲【VBA】変数のデータ型とその種類、格納できる値の範囲https://ennmelo.com/wp/2017/10/24/vba-hensuu/VBAプログラミング覚え書きの前回からの続きになります。今回は『データ型』についておさらいします。