エクセルやアクセスVBAで変数の宣言は必要なのか?

視力回復した人が開発した強度近視を治す方法

視力回復した人が開発した強度近視を治す方法

こんにちは!あつもりです。

このブログでは、アレクサの使い方やエクセルVBAについての情報を発信しています。

VBA初心者が疑問に思うことで特に多いのが、

「変数の宣言をしたほうがいいのか?」

です。

変数の宣言はデータ型の宣言とも言います。

JAVAやC言語は変数の宣言をしないと、プログラムが動かない。

一方VBAは変数の宣言をしなくてもプログラムは動く。つまり変数の宣言は必須ではないのです。

でも、職場の先輩から、

「必ず変数の宣言をしなさい」

と言われたことはありませんか?

「変数の宣言をしなくてもプログラムは動くのに、なんで?」

「別に宣言しなくても動くならいいじゃん。」

今回の記事はそんな疑問を持っているかたへのアドバイスです。この記事を読んで心のモヤモヤが解消されれば嬉しいです。

レクタングル大336×280

VBAで変数の宣言をしたほうがいいのか?

どの変数を使って、どんなデータを入れるのかを、あらかじめ決めるのが変数の宣言。簡単に言うと、使う変数のルールを決めておくということ。

変数の宣言は、プログラムコードの一番上に書くことになっている。

赤枠で囲ったところが変数の宣言。

でも、VBAは変数のルールを決めなくても勝手に判断してくれる。

変数に数字が入ってくれば数値型になるし、文字が入ってくれば文字列型になる。全て自動でやってくれる。

わざわざ変数を宣言する必要はない、プログラム初心者にとっても優しい言語なのです。

ではなぜ変数宣言しろというのか、それは、

  1. 不具合を見つけやすい
  2. プログラムを共有しやすい
  3. 他のプログラム言語を習得しやすい

主にこの3つじゃないかな、と思う。

1に関しては、変数の型が宣言されていないということは、どんな型でも入るということ。

そうすると、出来上がったプログラムでユーザーが想定外の操作をしたときに、不具合の原因を見つけにくくなる。

型を宣言していると、変数にその型以外のデータが入ってきたときに、型が違うことを教えてくれる。だから不具合を見つけやすくなる。

2に関しては、プログラム業界では、変数を宣言するのが当たり前になっている。

だから、変数宣言しているプログラムは読みにくい、と言われている。

だから、あとあと、引き継ぐ人のことを考えて、基本に従って書きなさいとなる。

まあ、確かに、変数の型が明示されていたほうが、プログラムの可読性は上がる。

プログラムコードを見ただけで、データの流れがある程度イメージできるから。

3に関しては、変数宣言を必須にしているプログラム言語が多いため。

変数宣言を当たり前にしておけば、他の言語の習得がラクになる。

確かにその通りだ。

こんな感じで変数宣言するメリットは多い。だけど、変数宣言しないメリットだってある。っていうのをお伝えしたい。

それは、

「プログラミングの敷居が低くなる」

ってこと。

当たり前じゃん。って思うかもしれないけど、すごく大事なことだと思う。

なぜなら、プログラミング初期で挫折しまう人が多いから。

それは、

「チャレンジしたけどよくわからない」

「プログラムは難しい」

という理由。

もったいないと思う。せっかく第一歩を踏み出したのに。

難しいと言われてることほど、初期のハードルは低くしたほうがいい。

何でもそうだけど、やりはじめのころは、覚えることが多い。だったら覚えなくても済むことはできるだけ覚えないほうがいい。

いちいち変数宣言してるんだったら、とりあえず書いてみて、動かして、動かなかったら直せばいいじゃん。

形式にこだわりすぎず、まずは体を動かして体験していこう。

そう思う。

これって日本人が英語を話すのが苦手っていうのに似ている。

日本人は完璧を求めすぎるから話せないのだそう。

文法とかにこだわって、まず完璧にしてからじゃないと、話し出せない。

そうこうしているうちに、話したいという欲求が薄れていく。

そして英語を学ぶことをやめてしまう。

プログラムも同じなんじゃないかな。

やらなくてもいいことにこだわらない。

それよりも、まずは書いて動かしてみる。

それで、プログラムが動く喜びを感じる。

そういうことが大事だと思う。

だってつまらなくてやめてしまっては、本末転倒なんだから。

いかにモチベーションを保ちながら、楽しくできるか。

それが上達につながる。

そして上達したら、少しずつ型にこだわっていけばいい。

ゆるく楽しくプログラムできる、それがVBAの良さの一つなんだから、その良さを生かしていこう。

さいごに

変数宣言する理由を3つ書いた。

  1. 不具合を見つけやすい
  2. プログラムを共有しやすい
  3. 他のプログラム言語を習得しやすい

これって全部、未来のことを考えてる。

でも本当に大事なのは今。

今、プログラムを書くことに挑戦している。

だったら、今にもっと目を向けて最善をつくしたほうがいい。

未来のことはその時考えればいい。

未来のことを考えすぎて、今をなくしてしまわないようにしたい。

レクタングル大336×280
レクタングル大336×280

シェアする

  • このエントリーをはてなブックマークに追加

フォローする