ExcelVBA(マクロ)でユーザー定義型の定数を宣言する方法/Constステートメントの使い方

IT

「定数」とは変更できない数、値を代入した入れ物で、中身を変更できるものは変数と呼ばれます。たとえば極端に大きくてかつ固定の数字、あとでまとめて変更するかもしれないけど基本固定したい数値(消費税率)などに使用します。
ユーザーが定義できる定数をユーザー定義型の定数、これに対してVBAに元から準備されている定数を組み込み定数といいます。ここではユーザー定義型の定数について説明します。
なお、データ型やモジュールレベルとプロシージャレベル、StaticやPublicについてはDimの記事で解説しているので、そちらをご参照下さい。

ExcelVBA(マクロ)で変数を作る・宣言する方法/Dim、Static、Public、Option Explicitステートメントの使い方
VBAもプログラムですので、Excelに入力した値以外に「変数」を持つことができます。一時的に代入しておける値です。
ExcelVBA(マクロ)のデータ型まとめ/オブジェクト型変数に対するSetメソッドの使い方
VBAで変数に対して使用できるデータ型の種類、使い方、注意点のまとめです。
Advertisements

Constの使い方

定数の宣言
Const 定数名 = 値
const1
基本的な使い方はDimと同様で、最初にConstを付けて定数名、データ型を指定する場合はその後にAs データ型(省略した場合はVariantになります)を付けます。
ただしこれだけだとダメで、
const2
定数を作った時点で値の代入が義務化されています。
const3
なので、定数名の後に = 値を入力して値を代入てあげます。
const4
試しにメッセージボックスで内容を表示してみます。変数と同じように使えることが確認できました。
const5
しかしConstで作った定数に何か値を代入しようとすると、
const6
それはできない旨エラーが出ます。ユーザー定義型の定数の値を変更するには、宣言時の値を変更する以外の方法はありません。

ConstをPublic、Privateで使用

const7
上の例ではモジュールレベルで宣言していますが、プロシージャレベルでConstを宣言することも可能です。
const10
もし宣言セクションでPrivateで宣言したい場合は、Private Const 定数のように頭につなげて宣言します。
const8
Publicも同様に、Public Const 定数と宣言します。これでどのモジュールでも使用できる定数が作成されます。
const9
なお、Constに対してStaticは使えないようです。
やりたいことから方法を探すエクセルExcel操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント