「変数」はよく使うけど「定数」って何?「定数」と「変数」って何が違うの?「定数」って何で使うの?定数とは、ある値を入れるための専用の箱のことです。「値を入れる箱」という点は変数と同じですが、定数は値を一度入れたら中身を変更することが出来ません。これが、変数と定数の大きな差です。この記事では、以下について解説しています。定数とは定数と変数の違い定数を使う意味VBA初心者だけでなく、プログラミング初心者・「変数」を勉強した方には特におすすめな内容となっています。参考にしてみてください。定数とは定数とは、ある特定の値を入れるための専用の箱のことです。定数は宣言しないと使えません。宣言:この単語は「定数」です!と設定してあげること。VBAでは、以下のように宣言します。“こんにちは”そして、類義語に変数があります。定数も変数もプログラミングの基礎なので、合わせて覚えておいてください。変数については以下の記事で詳しく解説しています。定数と被る部分もあり、重要なことを説明していますので、まずはこちらからご覧いただけるとスムーズに理解できると思います。変数とは、値を入...変数との違い定数は変数とよく似ていますが、決定的に違う特徴が1つあります。それは、一度設定した値は途中で更新することが出来ないという点です。それ以外に関しては基本的に変数と同じで、「スコープ」「型」などの要素も変数と変わりありません。スコープ・型について知りたい方は以下の記事をご覧ください。変数とは、値を入...変数は「型」を宣言した場合、その型の種類であれば、処理の途中でも代入することが可能です。1このように、計算した値を変数に代入し、更新することが出来ます。定数は宣言時に値を格納します。その値は2度と更新することが出来ません。“Google+Apple+Facebook+Amazon”という定数があって、「Facebook」を「Meta(旧Facebook)」と直したいときに処理の途中で更新することはできません。宣言時に格納した値を書き換える必要があります。VBAの場合、定数名の前にConstが必要になります。このConstが定数であることを示しています。定数を使うのか?なぜ、わざわざ定数を使うのでしょうか?その理由は4つあります。順番に解説していきます。分かりやすくする・マジックナンバーをなくす1つ目の理由は「分かりやすくする・マジックナンバーをなくす」という理由です。マジックナンバーとは、処理の途中に現れる何かを表す数字のことで、コードを見ただけでは何を示しているのかが分からないため「マジックナンバー」と呼ばれています。Thenみたいな条件式が表れても、何を示しているか分かりません。「60」を「Goukakutenn(合格点)」などの定数に変更しておくと、パッと見で分かりやすくすることが出来ます。If「分かりやすくする」という点では変数も同じですが、定数の場合は固定値(固有名詞や特定の数値など)を扱うことになるため、定数を使わない場合に比べてより分かりやすくなります。メンテナンスを簡単にする2つ目の理由は「メンテナンスを簡単にする」という理由です。これも、変数と同じ理由ですが、定数の場合は顕著に表れます。定数の場合、値は宣言時に代入します。0.08このように宣言されていると思います。現在の消費税率は10%のため、変更しなくてはいけません。そのような場合に改修はこの宣言文1行のみで済みます。0.1このように、定数を使い、宣言時の値を変えることで簡単にメンテナンスすることが出来ます。ミスの防止3つ目の理由は「ミスの防止」という理由です。定数は「一度設定した値を変えられない」という特性があるため、処理の途中で定数に代入しようとするとエラーになります。変数で定数に設定するような値を宣言した場合は、エラーにならずに実際に処理を動かしたときに思わぬバグを発生させる原因になってしまいます。コードに直接固定値などを書く場合、スペルミスやタイプミス・処理の方法と値が合っていないなどのミスの原因に繋がってしまいます。ミスの例スペルミスGogle:本来は「Google」タイプミス0,08:小数点がカンマになっている処理の方法が合っていない消費税:ある処理では「0.1」で消費税額を求め、ある処理では「1.1」で税込み価格を求めているため、ごちゃごちゃになっている。基本的に「固定値」に設定すべきで、私は特に「今後、変更する可能性のある固定値」と「システムで使用する固定値」に関しては絶対に定数にすべきだと考えています。「何を定数にすべきか」・「何を直接書くべきか」というのは、環境やシステムによって異なるので明確な答えはありませんが、出来るだけ定数にした方が良いと思っています。データの項目名など、挙げればキリがありませんが、具体例を出すと上記のようなときに定数をよく使っています。定数は色んな処理に使用されることが多いため、Public型で宣言し、宣言専用のモジュールを用意することが多いです。それぞれのモジュールで宣言されてしまうと重複したり、メンテナンスが大変になるので、1つのモジュールに集約することが多いです。このあたりの「書き方」については、試行錯誤しながら自己流を見つけていくのが良いと思っています。まとめ|「定数」を使って読みやすいコードを組もう!今回は、「定数」に関して、定数とは何か・なぜ使うのか・変数との違いについて解説していきました。定数は使用しなくてもシステムは動きます。メンテナンスや可読性を考えると絶対に使用したほうが良いです。2024年1月8日らるじゅ都内でSESやってます。『自由』を求めていると”FIRE”という生き方に出会い、現在はFIRE(特に、サイドFIRE)出来るように少しずつ進んでいます。当サイトは原則リンクフリーですリンクを行う場合の許可や連絡は不要です。引用する際は、引用元の明記と該当ページへのリンクをお願いします。画像ファイルへの直リンク、インラインフレームを使用したHTMLページ内で表示する形でのリンクはご遠慮ください。