「プログラミングで変数ってたまに聞くけどよくわからない。」
「変数つかってみたいから詳しく知りたい!」
もしこういったお悩みをお持ちでしたら変数の使い方をご紹介いたします。
変数を使えるようになるとプログラミングの幅が一気に広がりますので、ぜひ理解を深めておきましょう。
変数とは
変数とは、何かの値を入れておく箱のことです。
VBAでは箱にもいろいろな種類があって、データの型ごとに箱を準備する必要があります。
代表的なデータの型はこちらです。
型名 (データの型) | 変数の型 (箱の型) | 用途 |
整数型 | Integer | 整数:-32,768 ~ 32,767 |
長整数型 | Long | 整数:-2,147,483,648 ~ 2,147,483,647 |
通貨型 | Currency | 数値:-922,337,203,685,477.5808 ~ 922,337,203,685,477.00 |
単精度浮動小数点数型 | Single | -3.402823E38 ~ -1.401298E-45(負の値) ‘1.401298E-45 ~ 3.402823E38(正の値) |
倍精度浮動小数点数型 | Double | -1.79769313486232E308 ~ -4.94065645841247E-324(負の値) ‘4.94065645841247E-324 ~ 1.79769313486232E308(正の値) |
文字列型 | String | 文字列:最大約20億文字 |
日付型 | Date | 日付:西暦100 年1月1日~西暦9999年12月31日 時刻:0:00:00~23:59:59 |
ブール型 | Boolean | True または False |
オブジェクト型 | Object | オブジェクト |
バリアント型 | Variant | すべてのデータ |
いきなり全部は覚えられません!
全部は覚えなくても大丈夫。
あとで説明しますが最初は3つ使えれば十分です。
変数が必要な理由
では、なぜ変数が必要なのでしょうか?
その理由は長いコードの修正が簡単にできるようになるからです。
以下、具体例を使ってご説明します。
Sub hensu() Dim box As Long box = 100 Range("A1").Value = box + 10 Range("A2").Value = box - 10 Range("A3").Value = box * 10 Range("A4").Value = box / 10 End Sub
上記のサンプルコードでは、変数「box」に「100」を代入してから四則演算(足し算・引き算・掛け算・割り算)をしています。
もし変数を使っていない状態で、もとになる数字のプログラミングの修正が必要になったらどうなりますでしょうか?
四則演算それぞれの計算式の合計「4か所」の値を変更しなくてはなりません。
しかし、変数を使っていれば「1か所」を修正するだけで大丈夫です。
具体的な変数の修正としては、以下の右辺の値を変更するだけです。
4行目のコードの「100」の部分を変更するだけで、四則演算すべての計算結果が変わります。
box = 100
変数の便利さが少し伝わりましたでしょうか?
変数はいろいろな場面で登場しますので、少しずつ感覚をつかんでいきましょう!
変数の使い方
さきほどご紹介したコードについて、あらためて変数の使い方をご紹介します。
変数を使うためには2つの手順が必要です。
- 変数の宣言をする
- 変数に値を代入する
順番に見ていきましょう。
手順1| 変数の宣言
まず、「変数の宣言」をします。
「今からこの値をこの箱にいれますよ」といった宣言です。
Dim 変数名 as 変数の型(箱の型)
データにはいろいろな型があるので、ここでコンピューターに教えてあげましょう。
ひとつずつ解説します。
Dim
変数を宣言を開始するために記述します。
変数名
ここは自分で自由に決められます。
あとで見たときに自分でもわかりやすい名前にしておくといいでしょう。
as
Dimとセットで使います。変数の型(箱の型)の前に記述してください。
(英語でいうと前置詞「~として」の意味かと思います。)
変数の型(箱の型)
最初にご紹介したデータ型の表から指定したいものを記述します。
手順2|変数に値を代入
つぎに、変数に「値を代入」します。
変数名 = 任意の値
ここで指定したデータ型に合わせた値を代入します。
ちなみに、先ほどの例ではデータ型を「Long」にしています。
変数を「長整数型」に指定してから「100」を代入しているので、コンピューターは「数字の100」と認識することができます。
代表的な3つの変数|これだけは覚えよう
データ型が多くて困っている場合、最低限知ってほしい3つを選びました。
それはこちらです。
型名 | 変数の型 | 用途 |
長整数型 | Long | 整数:-2,147,483,648 ~ 2,147,483,647 |
文字列型 | String | 文字列:最大約20億文字 |
バリアント型 | Variant | すべてのデータ |
慣れるまで、まずはこのように使い分けをしましょう。
- 数字なら「Long」
- 文字列なら「String」
- よくわかなかったら「variant」
よく見れば「Variant」には”すべてのデータ”と記載がされていますね。
そうです。何にでも使えます。
「じゃあ、これだけで十分では?」となるかと思いますが1点だけ注意が必要です。
「Variant」は何にでも使える反面、コンピューターが認識を誤ることがあります。
こまかい話はあと回しにして、まずはこの3つの使い分けができるように意識をしてみてください。
まとめ
ある程度ながいコードを見ていると、変数は必ずと言っていいほど登場します。
変数のコツをつかむ方法としては、いろいろなデータが箱に入っていくイメージをしながらコードを読んでみてください。
もちろん記述いただくのもいい方法です。
慣れてくれば少しずつパズルの感覚に近づいてくるかと思いますので、変数の使い方を意識してみてくださいね。