INDEX
Constの概要
| 定数を宣言する VBAの予約語 | ||
|
Const 概要 Const ステートメントは、VBAで定数(変更不可の値)を宣言するために使用されます。変数と異なり、値を後から変更できないため、誤操作を防ぐのに役立ちます。 わかりやすく説明 変更できない値(定数)を設定するための命令。 |
||
|
Constの基本的な使い方
以下の例では、定数を定義し、メッセージボックスに表示します。
Sub ShowConstant()
Const TAX_RATE As Double = 0.1
MsgBox "消費税率: " & TAX_RATE * 100 & "%"
End Sub
解説:
Const TAX_RATE As Double = 0.1: 消費税率を定義。- プログラム内で誤って変更されることを防ぐことができる。
複数の定数を一括定義
複数の定数を同時に定義することも可能です。
Sub ShowMultipleConstants()
Const PI As Double = 3.14159, GRAVITY As Double = 9.81
MsgBox "円周率: " & PI & vbCrLf & "重力加速度: " & GRAVITY
End Sub
解説:
- カンマ(
,)で区切ることで、複数の定数を1行で定義できる。
モジュールレベルの定数
モジュールの先頭で定義すると、モジュール内のすべてのプロシージャで利用可能な定数になります。
Option Explicit
Const COMPANY_NAME As String = "ABC株式会社"
Sub ShowCompanyName()
MsgBox "会社名: " & COMPANY_NAME
End Sub
解説:
- モジュールレベルの定数は、すべてのプロシージャから参照できる。
Publicを使ったグローバル定数
Public を使うと、他のモジュールからも利用できる定数を定義できます。
Public Const FILE_PATH As String = "C:\Reports\summary.xlsx"
Sub ShowFilePath()
MsgBox "ファイルのパス: " & FILE_PATH
End Sub
解説:
Public Constを使うと、他のモジュールでも利用可能。
Excel VBAでのConstの活用
定数を使うと、セルの計算で統一された値を利用できます。
Sub CalculateWithConst()
Const TAX_RATE As Double = 0.1
Dim price As Double
price = Range("A1").Value
Range("B1").Value = price * (1 + TAX_RATE)
End Sub
解説:
- 定数を使うことで、税率を統一できる。
Constの制限
- 一度設定した値は変更不可:
Constに設定した値は後から変更できない。 - 実行時に値を設定できない:
Constはコンパイル時に値が決まるため、Nowなどの関数は使用できない。
よくある質問
- Q: Const と変数の違いは?
- A: Const で宣言した値は変更できないが、変数は変更可能。
- Q: Const に関数の結果を設定できますか?
- A: できません。定数はコンパイル時に値が決まるため、
NowやInputBoxなどの実行時に決まる値は使えません。 - Q: モジュール全体で使う定数はどう宣言すればいいですか?
- A: モジュールの先頭で
Constを宣言すれば、モジュール内のすべてのプロシージャで利用できます。
まとめ
- Const は変更できない定数を宣言するために使用する。
- 定数を使うことで、プログラムの可読性と保守性が向上する。
- モジュールレベルで定義すると、モジュール内で共通して使える。
- Public Const を使えば、他のモジュールからも利用可能。