エクセルVBAを使用するにあたって、変数を使用する意味は何だろう?と悩んだことはありませんか?
この記事では、エクセルVBAの変数の使い方について詳しく説明します。
基本的な使い方から応用的なテクニックまで、初心者でもすぐに実践できる内容です。
ぜひ最後までお読みください。
【 この記事の概要 】
よく使う度 | |
難しさ | |
覚えておくと安心度 |
この記事を見てできるようになること
この記事を読めば、以下のことができるようになります。
変数とは?
VBAにおける変数は、データを一時的に記憶するための箱のようなものです。
プログラム内でデータを扱う際に、変数を使うことでデータを柔軟に操作できます。
なぜ変数を使用するのか?
プログラムでは、作業を効率化するためにデータを一時的に保存しておく「変数」が欠かせません。
変数を使うことで、データを必要な場所で簡単に再利用でき、プログラム全体をスムーズに動かすことができます。
変数を宣言する重要性
変数は「こういうデータを使うよ!」とあらかじめプログラムに教えてあげる必要があります。
これを「変数を宣言する」と言います。
変数を宣言することで、プログラムが正しく動作し、エラーを減らすことができます。
変数の宣言を強制する設定
このことから、変数の宣言を強制するための設定を行うことをお勧めします。
この設定を有効にすると、変数を宣言しないとエラーが出るようになります。
1. VBEを開く
1)「開発」タブを選択します。
2)「Visual Basic」をクリックします。
※「Alt」⁺ 「F11」でもOKです。
2. VBEから変数を設定する
1) VBEの上部「ツール」メニューから「オプション」を選択します。
2)「エディタ」タブ内の「変数の宣言を強制する」にチェックを入れます。
この設定を有効にすると、自動的にコードの先頭に「Option Explicit」が追加されるようになります。
この表示がされている状態であると、変数を必ず宣言しないとエラーが出るようになります。
※この表示は消さないようにしてください。
さらに設定しておきたい、おすすめ設定については、別記事にまとめています。
こちらも合わせてご覧ください。
※「イミディエイトウィンドウ」や「ローカルウィンドウ」及び「コメントブロック」などの設定がおすすめです。
各変数の違い
VBAには、さまざまな種類の変数があります。
以下に代表的な変数を紹介します。
本記事では、通常の変数について解説します。
変数の宣言方法
変数を宣言する際には、Dimステートメントを使用します。
変数の構成
変数の宣言方法は、以下の通りです。
- Dim
- 変数は、Dimステートメントを使用して宣言します。
- 変数名
- 任意の名前をつけることができます。
プログラム内でこの名前を使用してデータにアクセスします。
日本語の指定も問題ありません。
同じ適用範囲内で、同じ名前は使用することができません。
- 任意の名前をつけることができます。
- As
- 変数のデータ型を指定するために使用します。
指定しなければ、変数の型は Variant になります。
- 変数のデータ型を指定するために使用します。
- 変数の型
- 変数に格納するデータの種類を指定します。
詳細は、事項で解説を行います。
例えば、長整数型(Long)、文字列型(String)などがあります。
- 変数に格納するデータの種類を指定します。
より詳しい情報は、Microsoft公式 – 変数を宣言するを参照してみてください。
変数の型の種類
VBAでは、変数の型を指定することで、格納するデータの種類を決定します。
主な変数の型は以下の通りです。
たくさんあり、最初は全部覚えるのは大変だと思います。
まず、黄色マーカーのものを覚え、あとは必要に応じて学習していくという方法で問題ありません。
型名 | 説明 |
---|---|
Integer | 整数型。 -32,768から32,767の範囲の整数を格納できます。 |
Long | 長整数型。 -2,147,483,648から2,147,483,647の範囲の整数を格納できます。 |
Single | 単精度浮動小数点型。 小数点を含む数値を格納できます。 |
Double | 倍精度浮動小数点型。 高精度の小数点を含む数値を格納できます。 |
String | 文字列型。 文字列を格納できます。 |
Boolean | 論理型。 TrueまたはFalseの値を格納できます。 |
Date | 日付型。 日付や時刻を格納できます。 |
Currency | 通貨型。 通貨値を格納できます。 小数点以下4桁までの数値を格納でき、通貨計算に適しています。 |
Decimal | 10進型。 10進数の値を格納でき、固定小数点計算に適しています。 |
Variant | 汎用型。 どの型のデータでも格納できますが、他の型よりもメモリを多く使用します。 また、変数の型を宣言しなければ、自動でVariantになります。 |
変数を使う際の注意ポイント
変数を使用する際には、重要なポイントに気を付ける必要があります。
これを守ることで、プログラムの動作を安定させ、トラブルを未然に防ぐことができます。
- 適切なデータ型の選択
- 変数には、可能な限り適切なデータ型を指定しましょう。
※Variant型は特別な場合を除いて使用しないようにしましょう。
適切なデータ型を使わないと、メモリを無駄に使ったり、計算結果が正しくならないことがあります。
- 変数には、可能な限り適切なデータ型を指定しましょう。
変数の使用例
ここでは、具体的なコード例を通じて変数の使い方を紹介します。
使用例1: 変数の宣言を行ってみる
変数の型を使用した宣言方法について紹介します。
Long (長整数型) の使用
Dim Num As Long
このコードは、変数名「Num」を「Long(長整数型)」で宣言し、整数を格納できるようになります。
整数以外 (小数点や文字列) を変数に格納すると、エラーが発生します。
String (文字列型) の使用
Dim Str As String
このコードは、変数名「Str」を「String(文字列型)」で宣言し、文字列を格納できるようになります。
文字列以外 (小数点や整数) を変数に格納すると、エラーが発生します。
Variant (汎用型) の使用
Dim temp As Variant
または
Dim temp
このコードは、変数名「temp」を「Variant(汎用型)」で宣言し、整数や文字列などの様々なデータを格納できるようにします。
理由がない限り「Variant(汎用型)」の使用はおすすめしません。
「Variant(汎用型)」は多くのメモリを使用し、パフォーマンスが低下する可能性があります。
使用例2: 変数を複数宣言して、掛け算を行う
変数を複数宣言し、掛け算を行う方法を紹介します、
変数「Num1」に整数、変数「Num2」に小数点を格納し、変数「Result」に掛け算の結果を格納しています。
Option Explicit
Sub 通常の変数を使用する()
Dim Num1 As Long
Dim Num2 As Double
Dim Result As Long
Num1 = 10
Num2 = 1.5
Result = Num1 * Num2
MsgBox "結果は " & Result & " です。" & vbCrLf & _
"" & vbCrLf & _
"変数:Num1の値は、" & Num1 & "です。" & vbCrLf & _
"変数:Num2の値は、" & Num2 & "です。"
End Sub
- Option Explicit
- 変数を宣言しないと、エラーが出るようになります。
- Dim Num1 As Long
- 変数名「Num1」を「Long (長整数型)」で宣言します。
- Dim Num2 As Double
- 変数名「Num2」を「Double(倍精度浮動小数点型)」で宣言します。
- Dim Result As Long
- 変数名「Result」を「Long長整数型」で宣言します。
- Num1 = 10
- 変数名「Num1」に「10」を代入します。
- Num2 = 20
- 変数名「Num2」に「20」を代入します。
- Result = Num1 + Num2
- 「Num1」と「Num2」を掛け算したものを「Result」に代入します。
- MsgBox
- 計算結果をメッセージボックスで表示します。
処理結果は、以下のようなメッセージボックスが表示されるはずです。
このように、変数を使用することでデータの操作が簡単になり、コードの可読性も向上します。
まとめ
この記事では、VBAにおける変数の基本的な概念、使用方法、および宣言方法について詳しく説明しました。
ポイントのおさらい
さらに学ぶために
変数の基本を理解したら、次のステップとしてグローバル変数、静的変数、オブジェクト変数についても学んでみてください。
それぞれの変数には特定の用途と利点があります。
今回の記事を参考に、VBAでの変数の使用方法をマスターし、業務の効率化を図ってください。
変数を適切に使うことで、VBAプログラミングの力を最大限に発揮できます。