今回は題名の通りVBAをはじめとしたプログラミング言語で使われる「変数」について紹介していきます。
追記: PropsRoomというスキル情報メディアを運営しています。
こちらでもVBA入門ガイドを扱っています。
https://props-room.com/articles/handbook/vba-guide-1
目次
変数って何?
まず、「変数」って言葉ですが、中学校で習ったのを覚えていますか?
「X」とか「Y」とかのアレです。
どんな数字が入るのかわからない計算の時、「X」とか「Y」を使って計算したと思います。
この「X」や「Y」の事を変数と言っていました。
変数についてはこちらの記事でもカンタンに説明しています。
プログラミング言語での変数は、数学の変数と同じで、どんな数字が入ってくるかわからないものを計算するときに使います。
変数は数字や文字を入れる箱!
変数のイメージは、数字や文字をしまっておける箱のようなものです。
具体的にどんな風に使うのか例を上げると、
あるセルに入力された数字をもとに計算をして結果を出力するプログラムがあるとします。
この「あるセル」に何が入力されるのかわからないため、具体的な数字を計算式に書き込むことが出来ません。
こんな時に変数を使う事で、あるセルの中身を後から変数という箱に入れて計算させることが出来ます。
コードを見やすくするために使う!
もちろん、変数を使わないでコードを書くこともできますが、後から見返したときや他の人がソースコードを読んだ時、「この2ってどこから来た?」「この4って何を足してんだ?」のような混乱のもとになってしまいます。
コードを読みやすくするためにも変数は一役買っています。
というのも、変数には自分の好きな名前を付ける事が出来ます。
こんなイメージ↓
ただコードに10と書かれると、なんの数字なのか後からわからなくなりますが、「人数」と書かれていれば、「ああ、ここでは人数を使って計算してるのか」となりますよね?
なので、変数を使うときは変数の名前を後から見てもわかるように命名しておくと便利です。
変数を使ってみよう!
さあ、難しい話はこれくらいにして、さっそく変数を使ってみましょう!
実際に使ってみた方がイメージがしやすいはずです。
変数を記入してみる
前回作ったマクロを改造するので、まだ作っていない人は下の記事を参考にして作成してみてください。
前回の時点でVBEのコードはこのようになっていると思います。
このコードに変数を加えてみようと思います。
下のコードをコピーしてVBEに貼り付けでください。(前のコードを上書きしてください)
1 2 3 4 5 6 7 8 9 |
Sub MessageTest() Dim Hensu As Integer '←これが変数 Hensu = 10 '←変数に10をしまう MsgBox Hensu '←メッセージボックスで変数の値を表示 End Sub |
下の画像のようになったでしょうか。
このコードに書いてある「’~」はコメントと言います。
コメントはプログラムの処理になんの影響も加える事はありません。
コードを読みやすくするためのメモとして書いておくことが出来ます。
マクロ(関数)を実行してみる
変数「Hensu」の中に「10」をしまったので、変数の中身は10になっているはずです。
Excelに戻ってボタンを押してメッセージボックスを出力させて確認してみましょう。
ちゃんと10と表示してくれていますね!
変数の作り方
先ほど作った、変数の作り方についてです。
「Dim Hensu As Integer」という一文が変数の作成を行っています。
変数を使うためには変数を使う「宣言」をする必要があります。
1行目では変数「Hensu」を使いますよと宣言しています。
具体的な意味としては下の画像のようになっています。
「Dim 変数名 As 変数の種類」のような形式になります。
変数の種類というのは、変数の箱は1つにつき1種類専門の箱になります。
なので、数字専門の変数に文字を入れる事は出来ません。(入れるとエラーになります)
この種類の事をプログラミング言語では「型」と呼びます。
「型」には沢山の種類がありますが、代表的なものを紹介します。
型名 | 型の意味 |
---|---|
Integer | 整数を扱える |
String | 文字や文章を扱える |
Boolean | Excelでお馴染みのTrue,Falseを扱える |
Date | 日付を扱える |
他にもいろいろありますが、まずこれらを覚えておきましょう。
変数に値を代入する方法
続いて、変数に値を代入するやり方ですが、こちらはカンタンです。
「変数名 = 代入したい値」
のようにするだけです。
数学で「=」は等しいという意味で使われますが、プログラミング言語ではこのような代入の時にも使います。
ちなみに、「変数A」という変数に5が入っている場合
「変数A = 変数A + 1」
とすると変数Aの値は6になります。
実際に見てみましょう。
このように、変数は中身を変えることが出来ます。
また、変数の中身を入れ替える事もできます。
下のコードを見てみましょう。
この場合、メッセージボックスには何が出力されるでしょうか?
実際に出力するとこのような結果になりました。
変数の中身の5が10に切り替わっていました。
変数は値を入れておく箱だと言ったように、箱の中身を入れ替えることもできます。
まとめ
今回は変数の初歩的な使い方について紹介してきました。
変数は値をしまっておく箱という事をしっかりイメージしておきましょう。
次回は、変数を利用したシステムを作ってみましょう。
■次のページ