- プロレベル VBA 演習問題 20問
- 問題 1:リアルタイム入力監視フォーム
- 問題 2:多ブック連携マクロ
- 問題 3:外部 CSV / JSON 読み込みクラス化
- 問題 4:ADO+SQL Server 接続マクロ
- 問題 5:カスタムイベント+クラスモジュール
- 問題 6:VBAによるグラフ自動生成&カスタマイズ
- 問題 7:条件付き書式自動生成
- 問題 8:階層構造のツリービュー管理
- 問題 9:独自関数ライブラリ作成
- 問題 10:自動メール送信+添付ファイル管理
- 問題 11:ブック間依存関係の解析
- 問題 12:大規模データの分割書き出し
- 問題 13:動的ピボットテーブル生成
- 問題 14:高度な文字列抽出・正規化
- 問題 15:API 連携(Web / JSON データ取得)
- 問題 16:多階層ログ管理システム
- 問題 17:ユーザーフォーム + ListBox + 動的検索
- 問題 18:ブック自動バックアップ
- 問題 19:プロジェクト内コード自動生成
- 問題 20:統計・分析自動化
- まとめ
プロレベル VBA 演習問題 20問
ここでは プロレベルの VBA 演習 20問 を紹介します。
対象は 実務で大規模データ・外部連携・設計力・再利用性・クラス設計・イベント制御 を要求するレベルです。
問題 1:リアルタイム入力監視フォーム
- ユーザーフォームにテキストボックスを設置
- 入力中に文字数制限・自動補正をリアルタイムで行う
- イベント駆動 + Sub 分割で安全設計
問題 2:多ブック連携マクロ
- 複数ブックのデータを 1 ブックに統合
- データ型や列順の不一致を自動調整
- 失敗したファイルはログに記録してスキップ
問題 3:外部 CSV / JSON 読み込みクラス化
- JSON または CSV を読み込み
- クラスに格納して、加工や集計を簡単に呼び出せる構造にする
問題 4:ADO+SQL Server 接続マクロ
- SQL Server から抽出
- データを Excel に貼り付け、更新・追加・削除も可能
- エラー処理・接続切断の安全設計付き
問題 5:カスタムイベント+クラスモジュール
- クラスモジュールで OnDataChanged イベント を作成
- 配列やセルの更新時に自動通知し、別の Sub を呼び出す
問題 6:VBAによるグラフ自動生成&カスタマイズ
- データ範囲を指定して自動で棒グラフ・折れ線グラフ作成
- 軸ラベル、色、凡例、タイトルをすべてコードで設定
問題 7:条件付き書式自動生成
- 数値や文字列の条件に応じて、
- 行単位・列単位・セル単位で書式を自動設定
- パターンは外部設定シートから読み込む
問題 8:階層構造のツリービュー管理
- ParentID / ChildID データを読み込み
- 再帰的に階層を展開して、ListBox / TreeView に表示
- インデント深さに応じて色やフォントも変更
問題 9:独自関数ライブラリ作成
- 日付計算、文字列処理、配列処理をまとめた Module
- 他ブックでも呼び出せるように設計
- 引数チェック、エラー処理付き
問題 10:自動メール送信+添付ファイル管理
- Outlook と連携
- 添付ファイルの存在チェック
- 複数宛先・CC・BCC
- 送信ログを「送信済みシート」に記録
問題 11:ブック間依存関係の解析
- 指定ブック内のすべての参照シート・名前付き範囲を解析
- 依存関係マップを作成してシートに出力
問題 12:大規模データの分割書き出し
- 50,000 行以上のデータを 10,000 行単位で別シートまたは別ブックに分割
- 動的配列 + For ループ + ファイル命名規則
問題 13:動的ピボットテーブル生成
- データ範囲を自動判定
- 集計項目・行・列を指定してピボットテーブル作成
- テーブル名・キャプションも自動設定
問題 14:高度な文字列抽出・正規化
- 正規表現(RegExp)を使用して
- 特定パターンの文字列だけ抽出・整形
- 配列やシートへの書き込み
問題 15:API 連携(Web / JSON データ取得)
- Web API にアクセスして JSON を取得
- パースして Excel に書き込み
- エラー処理・タイムアウト対応付き
問題 16:多階層ログ管理システム
- レベル(INFO, WARN, ERROR)に応じて色分け
- 日時・処理名・メッセージを自動追記
- ログの行数が一定数を超えたら古いログを削除
問題 17:ユーザーフォーム + ListBox + 動的検索
- ListBox に全データを読み込む
- テキストボックスに入力するとリアルタイムで絞り込み
- 選択行をクリックで別シートに詳細表示
問題 18:ブック自動バックアップ
- 指定フォルダに定期的にコピー
- ファイル名に日時を付与
- OnTime を使った自動実行
問題 19:プロジェクト内コード自動生成
- Module / ClassModule を作成して
- 標準的な Sub / Function を自動生成
- 名前・コメント・日付も自動挿入
問題 20:統計・分析自動化
- データの平均・分散・標準偏差・最大値・最小値を配列で取得
- ヒストグラムを自動生成
- 結果をシートにまとめる
まとめ
- 上級 20問 → 実務・業務自動化・再利用性・設計力を鍛える
- 外部連携(Outlook, SQL, API)・クラスモジュール・イベント駆動・大規模データ
- このレベルを習得すれば、社内 VBA プロとして即戦力

