注目キーワード
  1. VBA
  2. 関数
  3. ショートカット

【VBA】変数と変数の型について【入門】

  • 2019年2月21日
  • 2019年4月3日
  • VBA
  • 25回
  • 2件
VBA NO IMAGE

前の記事ではVBAでの

メソッド・コレクションについて解説しました。

今回の記事では変数についての

変数とは?

変数の使いかたとは?

変数の宣言の方法

変数の型

以上を紹介します。

プログラムを作成するうえで、非常に使用頻度が高いのがこの変数です。

しかし、覚えるルールはあまり多くないので今回の記事だけでも十分理解できると思います。

変数とは?

「変数」はVBAだけではなく、プログラミング言語には必須の要素の一つです。変数を使いこなすことで、さまざまな状況に対応できるプログラムが作成できるようになります。ここでは、VBAにおける変数の概要と具体的な活用方法を紹介します。

変数とは?

変数とは、コードの中で扱うデータを一時的に保管しておくための「入れ物」のようなものです。

実行する処理次第は同じでも、状況に応じてその中身を入れ替えることで、
プログラムを実行するたびに異なるデータを使って処理を行うことができます。

変数には自由な名前を付けることができますが、プロシージャ名と同様に「_」(アンダースコア)以外の一般的な記号は使用できず、先頭の文字を数字にすることもできません。

変数の使いかた

コードの中に、定義されていない語句が登場すると、VBAではそれを変数とみなします。

変数に値を代入する操作は、プロパティへの代入と同様に、代入演算子「=」を使用して「変数名=値」などと定義して使用します。

変数は同じ値をコードの中で繰り返して使用するときに便利です。

・実行結果

変数を宣言する

変数はコードの中でいきなり使用することもできますが、実際にプログラミングを行う場合は後から確認したり、修正する場合に見やすくなるために変数は宣言してから使用することをお勧めします。

下記でも紹介しますが、変数の宣言は通常はなくても使える設定になっていますが、宣言を強制することを強くおすすめします。

変数の宣言とは、そのコードの中で使用する変数名と変数の種類を明記する操作です。変数の宣言には「Dimスタートメント」を使って行います。

変数を宣言する際には、変数に代入する種類を想定して適切なデータ型を使用することがポイントです。また入力されたデータを使用する場合などデータ型が予想できない場合にはバリアント型を利用するとすべてのデータに対応できます。また変数の宣言を省略したり「As」以降を省略した場合にもバリアント型が指定されます。複数の変数を宣言する場合には「,」(半角カンマ)で区切って複数の変数をまとめて記述するとDimスタートメントを一行で宣言することが出来ます。

変数の宣言を強制する

VBEの「ツール」メニューの「オプション」で表示される「オプション」ダイアログボックスの「編集」タブで「変数の宣言を強制する」のチェックをオンにするか、
モジュールの宣言セクション(すべてのプロシージャよりも上の行)に「Option Explicit」と入力すると変数の宣言を強制することができます。

基本的には宣言を強制することを原則にプログラミングを行うことをお勧めします。

オブジェクト変数を利用する

変数では、数値や文字列などのデータ以外にも、オブジェクトへの参照を収めることもできます。このような変数は「オブジェクト変数」と呼ばれます。記述するのに手間がかかるオブジェクトを変数に収めることで何度も繰り返し記述する手間を省くことができます。

オブジェクト変数を宣言する際にはデータ型にそのオブジェクトの種類を指定します。オブジェクトの種類を一つに特定できない場合は「As Object」と宣言します。

データ型 VBAでの表現 データの範囲
バイト型 Byte 0~255の整数
ブール型 Boolean TRUE/FALSEの論理値
整数型 Integer -32,768~32768の整数
長整数型 Long 約-21億~約21億の整数(32bit)
LongLong 約-922京~約922京の整数(64bit)
LongPtr LongまたはLongLongと同じ(環境による)
通貨型 Currency 整数部分15桁と小数部分4桁の固定小数点数
10進数 Decimal 29桁の実数
単精度浮動小数点数型 Single 広い範囲の実数
倍精度浮動小数点数型 Double Singleより広い実数
日付型 Date 西暦100年1月1日~9999年12月31日の日付と時刻のデータ
文字列型 String 約2Gまでの文字列
オブジェクト型 Object オブジェクトの参照
バリアント型 Variant ほとんどすべてのデータ型に対応

オブジェクト変数にオブジェクトを設定する場合は通常の変数のような代入スタートメントではなく、「Set スタートメント」を使用します。

まとめ

今回は、VBAの変数について紹介しました。

使用頻度が高い変数の型は、Long型(長整数)とString型(文字列)です。

Integer型(整数)で書いてある参考書なども多いですが、最近のバージョンではInteger型はLong型に変換されるので

覚える必要はないかと思います。

オブジェクト型の変数に特定のセルやシートを代入する場合は、Setで特定ステートメントを代入する。

とりあえず以上を覚えれば問題なく使用できるかと思います。

前の記事から読み直す場合はこちらです。

【VBA】メソッド・コレクションとは?【入門】

VBAの記事一覧はこちらからです。

【基礎から学べる】ExcelマクロとVBA【入門】

NO IMAGE
最新情報をチェックしよう!