1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【VBA】Excelをもっと便利にする汎用ユーティリティマクロ20選【入力・検証・変換】

1
Posted at

はじめに

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 の運営者が執筆しました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?