定数とは?
定数は変数と同じような仕組みですが、コード中に変更ができない固定の値(数値や文字列)です。
コード中で変更しない固定の値(数値や文字列)は変数ではなく、定数に入れましょう。
定数の記載方法
Const NORMAL_TAX As Double = 0.1 '通常税率
Const REDUCED_TAX As Double = 0.08 '軽減税率
Public Sub test()
MsgBox "2019年10月1日より" & vbCrLf & _
"通常税率は " & NORMAL_TAX * 100 & "%" & vbCrLf & _
"軽減税率は " & REDUCED_TAX * 100 & "%"
End Sub
定数のコード結果
定数は変数と同じように、計算やその値を変数に代入して使用可能です。
税率や利益率等大きく変わらないような値を固定で入力し、時代が変わった時にすぐに修正できるようなものを定数で宣言すべきです。仮に定数を使わず、コード上で税率や利益率を直で入力していると、修正も容易ではありません。

特別な定数
上記例で記載している「vbCrLf 」のような、ユーザーが定義する定数以外にもシステムに既に存在する特別な定数もあります。ユーザーは、組み込み定数と同じ名前の定数を作成できません。
また定数全てではありません。業務での使用頻度が高いものをまとめています。
| グループ | 定数 | 値 | 内容 |
|---|---|---|---|
| MsgBox ボタン用定数 | vbOKOnly | 0 | [OK] |
| vbOKCancel | 1 | [OK] [キャンセル] | |
| vbAbortRetryIgnore | 2 | [中止] [再試行] [無視] | |
| vbYesNoCancel | 3 | [はい] [いいえ] [キャンセル] | |
| vbYesNo | 4 | [はい] [いいえ] | |
| vbRetryCancel | 5 | [再試行] [キャンセル] | |
| vbDefaultButton1 | 0 | 標準ボタンを第1ボタンにする | |
| vbDefaultButton2 | 256 | 標準ボタンを第2ボタンにする | |
| vbDefaultButton3 | 512 | 標準ボタンを第3ボタンにする | |
| vbDefaultButton4 | 768 | 標準ボタンを第4ボタンにする | |
| MsgBox メッセージ用定数 | vbCritical | 16 | 警告メッセージ アイコン |
| vbQuestion | 32 | 問い合わせメッセージ アイコン | |
| vbExclamation | 48 | 注意メッセージ アイコン | |
| vbInformation | 64 | 情報メッセージ アイコン | |
| MsgBox その他定数 | VbMsgBoxSetForeground | 65536 | 最前面のウィンドウとして表示 |
| vbApplicationModal | 0 | アプリケーションモーダル MsgBoxに応答するまで選択中のコード実行ができない | |
| vbSystemModal | 4096 | システム モーダルに設定します。 Msgboxに応答するまで選択中のコード実行を中断 | |
| vbMsgBoxHelpButton | 16384 | ヘルプ ボタンを追加します。 | |
| MsgBox 戻り値用定数 | vbOK | 1 | [OK]を押した |
| vbCancel | 2 | [キャンセル]を押した | |
| vbAbort | 3 | [中止]を押した | |
| vbRetry | 4 | [再試行]を押した | |
| vbIgnore | 5 | [無視]を押した | |
| vbYes | 6 | [はい]を押した | |
| vbNo | 7 | [いいえ]を押した | |
| 改行等の その他定数 | vbCrLf | Chr(13)+Chr(10) | キャリッジリターン/ラインフィードの組合わせ |
| vbCr | Chr(13) | キャリッジリターン文字 | |
| vbLf | Chr(10) | ラインフィード文字 | |
| vbNewLine | Chr(13)+Chr(10) または Chr(13) ※MacではChr(13) | プラット フォームで指定した改行文字。 使用中のプラット フォームで適切なものを使用する。 | |
| vbTab | Chr(9) | タブ文字 | |
| vbBack | Chr(8) | バックスペース文字 | |
| 色の定数 | vbBlack | 0x0 | 黒 |
| vbRed | 0xFF | 赤 | |
| vbGreen | 0xFF00 | 緑 | |
| vbYellow | 0xFFFF | 黄 | |
| vbBlue | 0xFF0000 | 青 | |
| vbMagenta | 0xFF00FF | マゼンタ | |
| vbCyan | 0xFFFF00 | シアン | |
| vbWhite | 0xFFFFFF | 白 | |
| システム カラー 定数 | vbScrollBars | 0x80000000 | スクロール バーの色 |
| vbDesktop | 0x80000001 | デスクトップの色 | |
| vbActiveTitleBar | 0x80000002 | アクティブ ウィンドウのタイトル バーの色 | |
| vbInactiveTitleBar | 0x80000003 | 非アクティブ ウィンドウのタイトル バーの色 | |
| vbMenuBar | 0x80000004 | メニューの背景色 | |
| vbWindowBackground | 0x80000005 | ウィンドウの背景色 | |
| vbWindowFrame | 0x80000006 | ウィンドウのフレーム色 | |
| vbMenuText | 0x80000007 | メニューの文字色 | |
| vbWindowText | 0x80000008 | ウィンドウの文字色 | |
| vbTitleBarText | 0x80000009 | キャプション文字/サイズ ボックス/スクロール矢印色 | |
| vbActiveBorder | 0x8000000A | アクティブ ウィンドウの境界色 | |
| vbInactiveBorder | 0x8000000B | 非アクティブ ウィンドウの境界色 | |
| vbApplicationWorkspace | 0x8000000C | マルチ ドキュメント インターフェイス (MDI)アプリケーション背景色 | |
| vbHighlight | 0x8000000D | コントロールで選択された項目の背景色 | |
| vbHighlightText | 0x8000000E | コントロールで選択された項目の文字色 | |
| vbButtonFace | 0x8000000F | コマンド ボタンの表面の立体的な表示の色 | |
| vbButtonShadow | 0x80000010 | コマンド ボタンの端の立体的な表示の色 | |
| vbGrayText | 0x80000011 | 淡色表示 (無効) の文字色 | |
| vbButtonText | 0x80000012 | プッシュボタンの文字色 | |
| vbInactiveCaptionText | 0x80000013 | 非アクティブキャプションの文字色 | |
| vb3DHighlight | 0x80000014 | 3D で最も明るく表示する要素の色 | |
| vb3DDKShadow | 0x80000015 | 3D で最も暗く表示する要素の影の色 | |
| vb3DLight | 0x80000016 | vb3Dhighlight の後の2番目に明るく表示する要素の色 | |
| vbInfoText | 0x80000017 | ツールヒントの文字色 | |
| vbInfoBackground | 0x80000018 | ツールヒントの背景色 |




コメント