CELLNETS Excel開発の専門会社

【VBAソレダメ】大量な変数宣言は危険!ENUM使いすぎに注意

今回は、長文となりがちなEnum(列挙型変数)大量記述によるリスクについて紹介します。


「システム開発に改修(仕様変更/追加)は、付きもの」

プログラム構造はシンプルで、ソース量は少ないほど、不具合リスクや改修リスクが低減できます。

みなさん、こんにちは。セルネッツ竹本です。

今回は、Enum(列挙型変数)大量記述によるリスクについて紹介します。

◆プログラムソースは「シンプル化」が安全かつ保守性が高い訳

冒頭の画面キャプチャは、大量の変数宣言の例です。1,000行以上の記述があります。

何故、これほどの型の宣言が大量記述されてしまったのでしょうか。

この開発案件では、入力で使用するExcelブックが、計4ファイル分✕各200フィールドあることが背景のようです。

さらに、固定値の「Const定数宣言」だけで、1000行ほど記述があります。

1.入力Excelブック1.xlsx (約200フィールド)

2.入力Excelブック2.xlsx (約200フィールド)

3.入力Excelブック3.xlsx (約200フィールド)

4.入力Excelブック4.xlsx (約200フィールド)


このような記述には、2つのリスクがあります。

1. フィールド名がハードコーディングされ可視化がされてない

2. 1000行近い命名に工数をかけ、可読性を下げている


例えば、上記のような記述を習慣化してしまうと、官公庁によくある入札案件(人口ビッグデータ)などでは、1ブック1シート2,000フィールドも珍しくありません。

もしも、入力が5ファイルあれば、10,000個の変数宣言という構造は、リスクが高まります。

ExcelVBAは、データベースではなく、二次元そのままの表計算ソフトなので、フォーマット定義は、専用シートによる全フィールド可視化によって、大幅な開発工数の低減と、記述の低減ができます。

◆フォーマットをシート展開で可視化する5つのメリット

全ファイル、全フィールドをワークシート上で俯瞰できる設計には、5つのメリットがあります。

(項目名の外出し可視化メリット)

1. 項目の移動入れ替え
2. 項目名の変更
3. 項目の差し込み挿入
4. 項目の削除
5. フォーマット変更


また、変数名についても、Public=P_、Dim=D_始まりと標準化することで、変数名の一括置換をはじめ、属性の識別も容易になります。

何よりも、コーディング記述数が激減するため、バグのでにくい、分析のしやすい安全性の高い記述になります。

ExcelVBAは、Excelありきの開発言語です

他の言語とは違い、Excelそのもののワークシートに着目し、それを有効活用することで、大幅にシンプル化が図れます。

弊社では、標準化ガイドラインで、ENUM使用は50行まで、としています。

慣れてくると全く使用はみられなくなり、「プログラム依存度」も低減され、可読性が高まるため、「VBAプログラミン初心者」にとっても、解読しやすく、今では誰もが改修を行える体制を構築しています。


今回のテーマは、「ENUM」大量記述について、解説を行いました。

本記事が、品質向上において、ご参考お役立てになれば幸いです。


関連記事

Excelシステム開発

Excelを複数人で共同編集できるExcel for the webとは?Excelオンラインの共有手順と業務改善事例

更新日:2026年9月5日

Excelシステム開発

販売管理はエクセルで十分?売上管理表・発注管理表の作り方と「限界」の乗り越え方

更新日:2026年9月5日

Excelシステム開発

勤怠管理はエクセルで自動化できる|関数の限界とマクロ活用・事例まで解説

更新日:2026年9月5日

Excelシステム開発

顧客管理はエクセルで十分?管理表の作り方5ステップと「限界」の見極め方をプロが解説

更新日:2026年9月5日

Excelシステム開発

マニュアル作成をエクセルで行う手順5ステップ|見やすく作るコツと「自動化」という選択肢

更新日:2026年9月5日

Excelシステム開発

請求書をエクセルで作る方法|テンプレート・関数・インボイス対応まで解説

更新日:2026年9月5日

Excelシステム開発

エクセルでプルダウン連動・自動入力する方法|値の自動入力とリスト連動をわかりやすく解説

更新日:2026年9月5日

Excelシステム開発

棚卸表を自動計算するエクセルの作り方|コピペで使える関数も解説

更新日:2026年9月5日

Excelシステム開発

エクセルの自動計算とは?設定方法・されない原因・自動計算表の作り方まで完全解説

更新日:2026年9月5日

newsite