ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
変更手順 (5 ステップ)
- Excel で Alt + F11 を押し VBE を起動
- 画面左の プロジェクト エクスプローラ で対象モジュールをクリックして選択
表示されていない場合は 表示 → プロジェクト エクスプローラ (Ctrl + R) - F4 を押す、または 表示 → プロパティ ウィンドウ を開く
- プロパティウィンドウの (Name) プロパティに新しい名前を入力
- Enter で確定 → プロジェクト エクスプローラ上の表示も即変わる
標準モジュール / クラスモジュール / フォーム / シートモジュール / ThisWorkbook いずれも同じ操作で変更できます (ただし ThisWorkbook はオブジェクト名であって Name の編集に制限あり)。
命名規則 (VBA 識別子のルール)
| ルール | OK / NG |
|---|---|
| 先頭はアルファベット | OK: Util / NG: 1Util, _Util |
| 使える文字: 英数字とアンダースコア | OK: Util_Date / NG: Util-Date, Util.Date |
| 長さ最大 255 文字 | 実用的には 31 文字以内推奨 |
| VBA 予約語禁止 | NG: Sub, If, End, For, Loop, Module, Class |
| 半角スペース不可 | NG: My Module |
| 全角文字 | 動作するが推奨しない (英数字推奨) |
| 大文字小文字 | 区別しない (内部的に統一される) |
| 同名禁止 | 同じプロジェクト内で重複不可 |
命名のおすすめパターン
| モジュール種別 | 推奨プレフィックス | 例 |
|---|---|---|
| 標準モジュール | M_ / mod | M_Util, modDateFormat |
| クラスモジュール | C_ / cls | C_Customer, clsLogger |
| フォームモジュール | F_ / frm | F_Login, frmSettings |
| API ラッパー | API_ | API_Win32 |
| 定数モジュール | Const_ | Const_Color |
リネーム後の影響範囲チェック
モジュール内のプロシージャ呼び出しにモジュール名修飾を使っている箇所は、リネーム後に手動で書き換える必要があります。
' リネーム前: Module1 → リネーム後: M_DateUtil
'
' モジュール名修飾あり (要修正)
Call Module1.FormatDate(d) ' ❌ コンパイルエラー
Module1.FormatDate(d) ' ❌
Debug.Print Module1.PI ' ❌
' ↓ リネーム後はこう書き換え
Call M_DateUtil.FormatDate(d)
M_DateUtil.FormatDate(d)
Debug.Print M_DateUtil.PI
' モジュール名修飾なし (修正不要)
Call FormatDate(d) ' ✅ OK
Debug.Print PI ' ✅ OK (同名プロシージャが他に無ければ)
編集 → 検索置換で機械的に修正
- VBE で 編集 → 検索 (Ctrl + F) を開く
- 検索対象を 「現在のプロジェクト」 に
- 古い名前 (例:
Module1.) を検索 → 出現箇所を全て確認 - 必要に応じて置換 (
Module1.→M_DateUtil.) - F5 で実行、コンパイル → プロジェクトのコンパイル でエラー確認
シートモジュールの「Name」は 2 種類ある
Excel のシートに紐づくモジュールは、コードからの参照名 (CodeName) と シートタブの表示名 が分離しています:
| VBE プロパティ | 意味 | 例 |
|---|---|---|
| (Name) | CodeName。コードから Sheet1 として参照 | shSummary |
| Name | シートタブの表示名。Sheets("Sheet1") の文字列 | 「集計」 |
これによりユーザがタブ名を変えてもコードが壊れない設計が可能です:
' タブ名が変わると壊れる (悪い例)
Sheets("Sheet1").Range("A1").Value = "Hello"
' CodeName を使えばタブ名変更に強い (良い例)
shSummary.Range("A1").Value = "Hello"
名前変更でエラーが出るとき
| エラー | 原因 | 対処 |
|---|---|---|
| 「無効な名前です」 | 予約語使用 / 先頭が数字 | 命名規則に従う |
| 「名前が既に使われています」 | 同名モジュール存在 | 別名にする |
| 編集後 F5 でコンパイルエラー | 呼び出し箇所修飾未修正 | 検索置換で対応 |
| Name プロパティがグレーアウト | プロジェクトがロック (パスワード保護) | プロジェクト プロパティで解除 |
| 「プロジェクトは保護されています」 | ツール → プロジェクト プロパティの保護タブ | パスワード入力 |
プロジェクト名 (VBAProject) の変更
モジュールではなくプロジェクト全体の名前 (デフォルト VBAProject) を変更したい場合:
- VBE で ツール → VBAProject のプロパティ
- 全般タブの「プロジェクト名」を変更 (例:
UtilityLib) - OK
他ブックから参照設定でリンクする場合、この名前で参照されるので意味のある名前にします。
FAQ
Q: モジュール名を変えるとマクロ実行が壊れる?
A: シートのボタンに割り当てたマクロは「モジュール名.プロシージャ名」で保存されているため、リネーム後にボタンの右クリック → マクロの登録から再設定が必要なことがあります。
Q: 全モジュールを一括リネームしたい
A: VBE 標準には無し。Rubberduck (OSS の VBE アドイン) を入れると Refactor > Rename で一括リネームと参照書き換えが可能です。
Q: モジュールをエクスポートして名前を変えて再インポートはできる?
A: できます。右クリック → ファイルのエクスポート (.bas / .cls)、テキストエディタで先頭の Attribute VB_Name = "OldName" を変更、再インポート。
Q: 名前変更で undo (元に戻す) は効く?
A: プロパティウィンドウの操作は通常 Ctrl+Z 対象外です。元に戻したい場合は再度プロパティから旧名を入力してください。
📸 参考画像
※ 旧バージョンから引き継いだ参考画像です。手順・図解の補助としてご覧ください。



ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- 【django】ログイン 認証機能 2026-09-08 03:22:09
- MySQL ERROR 1063 Incorrect column specifier for column|原因と直し方 2026-09-08 03:11:09
- 【PHPエラー】Object of class stdClass could not be converted to string 2026-09-07 07:46:04
- Julia Genie ローカル開発サーバ起動完全ガイド 2026-09-07 07:46:04
- Wi-Fi とは|規格と世代(Wi-Fi 4〜7)・周波数帯・CSMA/CA・WPA3 NEW 2026-09-07 07:45:13
- set コマンドでシェルオプションと位置パラメータを操作 | bash 2026-09-07 07:45:13
- JPEG(.jpg/.jpeg)画像形式の完全ガイド — 仕様・マジックナンバー・他形式との比較・EXIF 2026-09-07 07:45:13
- UE5 Get Overlapping Actorsで特定クラスだけ処理|Class Filter・Cast To 2026-09-07 07:45:13
- Linuxで特定拡張子のファイルを再帰削除|find -deleteの安全手順 2026-09-07 07:45:13
- Django CBVでテンプレートに値を渡す|get_context_data・extra_context 2026-09-07 07:45:13
- Linuxで複数ファイルの文字列を一括置換|find・sed・xargsの安全手順 2026-09-07 07:45:13
- Laravelルートグループ|prefix・middleware・nameで一括管理 2026-09-07 07:45:13
- Linux whichコマンドの使い方|絶対パス取得とtype・command -vの違い 2026-09-07 07:45:13
- Linux catコマンドの使い方|行番号表示・複数ファイル連結 2026-09-07 07:45:13
- unable to execute 'gcc': No such file or directory 2026-09-07 07:45:13
コメントを削除してもよろしいでしょうか?