この記事で分かることは、
- 変数の使い方
本記事は、業務効率を改善するためにエクセルでの作業を自動化したいけど、何からしていいかわからないという方に向けの記事となります。
変数はマクロの基礎ですので、しっかいりと使い方を理解しましょう。
本記事では、前回紹介した「Cells」を利用して、変数の使い方を紹介します。まだ、「Cells」の使い方の記事をご覧になっていない方は、以下のリンクをご覧ください。
1.「変数」を使ってみる
まずは、コードを実行して、動きを確認してみましょう。
Sub test()
Dim Sirokuma_Hensuu
Sirokuma_Hensuu = 5
Cells(Sirokuma_Hensuu, 1) = "こんにちは"
End Sub
動作させてみると、
セルA5に「こんにちは」と記載されました。
「Cells」でセルを指定して、「こんにちは」と記載させるコードですが、前回の記事でご紹介した、「Cells」の使い方と少し違いますね。
「Cells」の「( , )」中に「Sirokuma_Hensuu」という少し怪しい文字列が入っています。
この怪しい文字列が「変数」です。
2.「変数」の解説
「変数」は任意の文字列(今回の記事では「Sirokuma_Hensuu」)を「この文字列は変数です!」と宣言して、文字や数字を代入して使用します。
変数は「宣言する」という言い方をします。
では、どのように変数を宣言するのかというと、「Dim」を使います。
「Dim」の後にスペースを1つ空けて、変数にしたい文字列を書く事で変数の宣言ができます。
では、変数に数値を代入してコードを実行してみましょう
変数に数字を代入するコードは「変数」=「数字」です。以下のコードの「= 5」を「=6」や「=7」に書き換えて実行し、変数の使い方のイメージをつかんでみましょう。
Sub test()
Dim Sirokuma_Hensuu
Sirokuma_Hensuu = 5
Cells(Sirokuma_Hensuu, 1) = "こんにちは"
End Sub
3.「変数」はどのような時に使うか
わざわざ、変数を宣言してCells(Sirokuma_Hensuu, 1)と書くよりも、Cells(5, 1)でよくないか?と思ってしまいます。
変数の良いところは、さまざまな条件によって中身を変えられるところにあります。
例えば、「セルB1」に「3」と記載してから、以下のコードを実行してみましょう。
Sub test()
Dim Sirokuma_Hensuu
Sirokuma_Hensuu = Range("B1").Value
Cells(Sirokuma_Hensuu, 1) = "こんにちは"
End Sub
このコードは、セルB1に書いた数字を「Sirokuma_Hensuu」に代入しています。
なので、「Cells(Sirokuma_Hensuu, 1)」はCells(3, 1)であり、「セルA3」を指定したことになります。練習でセルB1の「3」を「4」や「5」などに変えて実行してみると、イメージつかみやすいと思います。
このように、変数はどんな数字や文字が入るか分からない時や、数字を条件に応じて変えたいときに頻繁に使用します。
4.「変数」には種類がある
変数の宣言は、「Dim Sirokuma_Hensuu」とお伝えしましたが、実はこれだけでは不十分なのです。「Dim」で変数の宣言はできるのですが、これだけだと、「VBA」は数字が入る変数なのか、文字が入る変数なのか、またどのくらいまでの大きさの数字が入るかなど、情報が不足しており、誤動作の原因につながることがあります。
なので、宣言したい変数の使い方に応じて、「この変数は、数字でこのくらい大きい数が入ります」等の情報を伝えてあげる必要があります。
どんな変数なのかを伝える際は以下のようなコードになります。
Dim Sirokuma_Hensu As Byte
「As」は変数がどんな変数なのかを伝える時に使用し、「Byte」が0~255までの整数という「型」です。
なので、「Dim 変数 As 変数の型」という形で変数を指定します。
以下によく使う変数の型をご紹介します。
型 | 格納できるデータ |
String | 文字列を格納できる |
Byte | 0~255までの整数を格納できる |
Integer | -32,768~32,767の整数を格納できる |
Single | 小数点のある数字を格納できる -3.402823E38 ~ -1.401298E-45(負の値) 1.401298E-45 ~ 3.402823E38(正の値) |
変数の型はまだまだありますが、上記の表を覚えていれば、あまり困ることはないと思います。また、変数には「型」があるということを覚えていただければ、ご自身で必要な変数の型を調べることができると思います。
コメント