「VBA入門!」マクロで業務効率を上げる その3~変数~

VBA
スポンサーリンク

この記事で分かることは、

  • 変数の使い方

本記事は、業務効率を改善するためにエクセルでの作業を自動化したいけど、何からしていいかわからないという方に向けの記事となります。

変数はマクロの基礎ですので、しっかいりと使い方を理解しましょう。

本記事では、前回紹介した「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文字列を格納できる
Byte0~255までの整数を格納できる
Integer-32,768~32,767の整数を格納できる
Single小数点のある数字を格納できる
-3.402823E38 ~ -1.401298E-45(負の値)
1.401298E-45 ~ 3.402823E38(正の値)

変数の型はまだまだありますが、上記の表を覚えていれば、あまり困ることはないと思います。また、変数には「型」があるということを覚えていただければ、ご自身で必要な変数の型を調べることができると思います。

コメント

タイトルとURLをコピーしました