はじめに
ExcelのVBAには、特定カテゴリに縛られない「何でも使える」便利マクロがあります。
- ファイルサイズや営業日の計算
- メールアドレスや電話番号の検証
- 単位・通貨の変換
- ログの記録やUUID生成
今回はこういった汎用ユーティリティマクロを20本まとめて紹介します。
導入方法: Alt+F11 → 挿入→モジュール → コード貼り付け → Alt+F8 で実行
全コード → Excel VBA Top100 Macros
1. ファイルサイズを計算 — CalculateFileSize
指定したファイルのサイズをバイト・KB・MBで取得します。
こんな場面で使える
- 添付ファイルのサイズ制限を確認したい
- フォルダ内のファイルサイズ一覧を作りたい
- ファイルが大きすぎないかチェックしたい
👉 詳細コード: https://excel100.kinokotown.com/macro/CalculateFileSize
2. 営業日を計算 — CalculateWorkdays
土日と祝日を除いた営業日数を自動で計算します。
こんな場面で使える
- 納期までの営業日数を素早く出したい
- 「〇営業日後」の日付を自動計算したい
- 祝日リストを参照して正確な営業日を求めたい
👉 詳細コード: https://excel100.kinokotown.com/macro/CalculateWorkdays
3. セルの依存関係を確認 — CheckDependencies
選択したセルが参照しているセル・参照されているセルをすべてリストアップします。
こんな場面で使える
- 複雑な数式の依存関係を把握したい
- セルを削除しても問題ないか確認したい
- 引き継いだシートの数式構造を解析したい
👉 詳細コード: https://excel100.kinokotown.com/macro/CheckDependencies
4. 名前付き範囲を全削除 — ClearAllNamedRanges
ブック内のすべての名前付き範囲(Named Range)を一括で削除します。
こんな場面で使える
- 不要な名前付き範囲が大量にたまってファイルが重い
- 引き継いだファイルの古い名前定義を一掃したい
- テンプレートをリセットしてきれいな状態にしたい
👉 詳細コード: https://excel100.kinokotown.com/macro/ClearAllNamedRanges
5. 通貨を変換 — ConvertCurrency
セルの金額を指定した為替レートで別の通貨に変換します。
こんな場面で使える
- 円建ての金額をドル・ユーロに一括換算したい
- 為替レートを変えて再計算したい
- 複数通貨の比較表を素早く作りたい
👉 詳細コード: https://excel100.kinokotown.com/macro/ConvertCurrency
6. 単位を変換 — ConvertUnits
長さ・重量・温度などの単位を自動で変換します。
こんな場面で使える
- インチ→センチ、ポンド→キログラムに一括変換したい
- 輸入商品の仕様書を国内単位に変換したい
- 複数の単位が混在するデータを統一したい
👉 詳細コード: https://excel100.kinokotown.com/macro/ConvertUnits
7. 文字数・単語数をカウント — CountWords
選択範囲のテキストの文字数・単語数・行数をカウントします。
こんな場面で使える
- レポートの文字数制限をチェックしたい
- 複数セルの合計文字数を素早く確認したい
- 空白区切りで英単語数を数えたい
👉 詳細コード: https://excel100.kinokotown.com/macro/CountWords
8. 数値だけを抽出 — ExtractNumbers
テキストと数値が混在するセルから数値だけを取り出します。
こんな場面で使える
- 「売上: 123,456円」のセルから数値だけ抜き出したい
- 品番・型番から数字部分だけ取得したい
- 不規則なフォーマットの数値データを整理したい
👉 詳細コード: https://excel100.kinokotown.com/macro/ExtractNumbers
9. テキストを抽出 — ExtractText
正規表現やパターンを使ってセルから特定のテキストを抽出します。
こんな場面で使える
- メールアドレスや電話番号だけを抜き出したい
- 住所から都道府県名だけ取得したい
- テキスト中の括弧内の文字だけ抽出したい
👉 詳細コード: https://excel100.kinokotown.com/macro/ExtractText
10. 数式が入ったセルを検索 — FindCellWithFormula
シート内のすべての数式セルを検索してリストアップします。
こんな場面で使える
- 数式が入っているセルを一覧で確認したい
- 意図せず数式が消えていないかチェックしたい
- 特定の関数(VLOOKUPなど)を使っているセルだけ探したい
👉 詳細コード: https://excel100.kinokotown.com/macro/FindCellWithFormula
11. ランダムデータを生成 — GenerateRandomData
テスト用のランダムな数値・文字列・日付データを生成します。
こんな場面で使える
- マクロや関数のテスト用ダミーデータを素早く作りたい
- プレゼン用のサンプルデータを生成したい
- ランダムなID・コードを大量に生成したい
👉 詳細コード: https://excel100.kinokotown.com/macro/GenerateRandomData
12. UUIDを生成 — GenerateUUID
RFC 4122準拠のUUID(汎用一意識別子)を生成します。
こんな場面で使える
- レコードに一意のIDを自動で付与したい
- データベースのプライマリキー候補を生成したい
- 重複しないユニークなコードを大量発行したい
👉 詳細コード: https://excel100.kinokotown.com/macro/GenerateUUID
13. 現在日時を取得 — GetCurrentDateTime
現在の日付・時刻・曜日を任意の書式でセルに入力します。
こんな場面で使える
- 実行時刻をログに自動記録したい
- 「今日の日付」をボタン一つでセルに入力したい
- 時刻付きのタイムスタンプを自動挿入したい
👉 詳細コード: https://excel100.kinokotown.com/macro/GetCurrentDateTime
14. ユーザー入力を受け付ける — InputFromUser
ダイアログボックスでユーザーから入力を受け取り、処理に使います。
こんな場面で使える
- マクロ実行時にパラメータ(期間・対象範囲など)を指定したい
- ユーザーに名前・部署を入力させてから処理を続けたい
- 複数の選択肢をドロップダウンで選ばせたい
👉 詳細コード: https://excel100.kinokotown.com/macro/InputFromUser
15. マクロ一覧を表示 — ListAllMacros
ブック内に存在するすべてのマクロ名をリストアップします。
こんな場面で使える
- 引き継いだファイルにどんなマクロが入っているか確認したい
- マクロ名と説明の一覧シートを自動作成したい
- 特定のモジュールにあるプロシージャを検索したい
👉 詳細コード: https://excel100.kinokotown.com/macro/ListAllMacros
16. 名前付き範囲の一覧を表示 — ListNamedRanges
ブック内のすべての名前付き範囲と参照先を一覧化します。
こんな場面で使える
- どんな名前付き範囲が定義されているか把握したい
- 壊れた名前参照(#REF!)を一括で見つけたい
- 名前付き範囲の棚卸しをしたい
👉 詳細コード: https://excel100.kinokotown.com/macro/ListNamedRanges
17. ログをシートに記録 — LogToSheet
マクロの実行ログ(日時・処理内容・結果)を専用シートに自動記録します。
こんな場面で使える
- マクロが正常に実行されたか後から確認したい
- 「いつ・誰が・何をしたか」の操作履歴を残したい
- エラー発生時の状況を記録して原因を追いたい
👉 詳細コード: https://excel100.kinokotown.com/macro/LogToSheet
18. メッセージボックスを表示 — ShowMessageBox
カスタマイズしたメッセージダイアログをユーザーに表示します。
こんな場面で使える
- 処理完了を「OK」ダイアログで通知したい
- 「本当に削除しますか?」の確認ダイアログを出したい
- マクロの実行結果をポップアップで伝えたい
👉 詳細コード: https://excel100.kinokotown.com/macro/ShowMessageBox
19. メールアドレスを検証 — ValidateEmailFormat
セルのメールアドレスが正しい形式かどうかを自動でチェックします。
こんな場面で使える
- 顧客リストのメールアドレスに誤りがないか確認したい
- 一括インポート前にフォーマット検証をしたい
- 不正な形式のメールアドレスを赤くハイライトしたい
👉 詳細コード: https://excel100.kinokotown.com/macro/ValidateEmailFormat
20. 電話番号を検証 — ValidatePhoneNumber
セルの電話番号が正しい形式(ハイフンあり・なし両対応)かチェックします。
こんな場面で使える
- 顧客リストの電話番号フォーマットを統一したい
- 入力ミスの電話番号を自動で検出したい
- 携帯・固定・フリーダイヤルの形式を分けて検証したい
👉 詳細コード: https://excel100.kinokotown.com/macro/ValidatePhoneNumber
まとめ
| # | マクロ名 | 用途 |
|---|---|---|
| 1 | CalculateFileSize | ファイルサイズを計算 |
| 2 | CalculateWorkdays | 営業日数を計算 |
| 3 | CheckDependencies | セルの依存関係を確認 |
| 4 | ClearAllNamedRanges | 名前付き範囲を全削除 |
| 5 | ConvertCurrency | 通貨を変換 |
| 6 | ConvertUnits | 単位を変換 |
| 7 | CountWords | 文字数・単語数をカウント |
| 8 | ExtractNumbers | 数値だけを抽出 |
| 9 | ExtractText | テキストを抽出 |
| 10 | FindCellWithFormula | 数式セルを検索 |
| 11 | GenerateRandomData | ランダムデータを生成 |
| 12 | GenerateUUID | UUIDを生成 |
| 13 | GetCurrentDateTime | 現在日時を取得 |
| 14 | InputFromUser | ユーザー入力を受け付ける |
| 15 | ListAllMacros | マクロ一覧を表示 |
| 16 | ListNamedRanges | 名前付き範囲の一覧を表示 |
| 17 | LogToSheet | ログをシートに記録 |
| 18 | ShowMessageBox | メッセージボックスを表示 |
| 19 | ValidateEmailFormat | メールアドレスを検証 |
| 20 | ValidatePhoneNumber | 電話番号を検証 |
各マクロのVBAコード全文は以下で無料公開中です。
👉 Excel VBA Top100 Macros: https://excel100.kinokotown.com
この記事は Excel VBA Top100 Macros の運営者が執筆しました。