Excel VBA | Subプロシージャ(マクロ)の考え方

VBA
スポンサーリンク

プロレベル 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 プロとして即戦力
VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました