タイトル: VBA

本稿はVBA(Visual Basic for Applications)の記事です。
Microsoft OfficeシリーズのExcelで使用できるプログラミング言語です。Excelの定型作業の自動化(マクロ)から、Outlook / Word / Access の操作までカバーできます。
※オブジェクト指向言語共通の概念や仕組みに関してはこちらを参照してください。
VBAの特徴
- Office同梱で追加インストール不要 — Excelを開けばすぐ始められる
- マクロ録画 — 操作をそのままVBAコードとして書き出せる
- イベント駆動 — ボタンクリックやセル変更でコードを実行
- Office製品横断 — Excel から Outlook を操作する等、複数製品をまたいで自動化可能
本ページの子ページ一覧
導入・準備
- 開発タブの表示 — VBA編集に必要な最初の設定
- モジュールの名前変更方法
マクロ操作
文法・構文
デバッグ・エラー
- デバッグで一行ずつ実行する方法 — F8ステップ実行
- エラー一覧 — よく出るVBAエラーへの対処
VBA の最小例
|
Sub Hello() |
セル操作の基本例
|
Sub WriteCells() |
覚えておくと便利なオブジェクト
| オブジェクト | 役割 |
|---|---|
Application | Excel全体 |
Workbook | ブック(.xlsxファイル) |
Worksheet | シート |
Range | セル範囲 |
Cells(row, col) | 行・列インデックスでセル指定 |
注意点
- マクロ有効ブックは .xlsm として保存(.xlsxではマクロが消える)
- 外部から受け取った.xlsmファイルのマクロは、有効化前にコードを確認する(マルウェアリスクあり)
- VBAは時代的にレガシー寄り。新規案件では Power Automate や Python + openpyxl も選択肢
- Office 64bit版と32bit版で API Declare 文の書き方が変わる(
PtrSafe必須)
関連
- 親カテゴリ: プログラミング言語
- オブジェクト指向の基礎: オブジェクト指向言語共通
- Excel本体: Excel(エクセル)