ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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 と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?