第11回 VBAの基本をやさしく理解する(Sub・Function・スコープ入門)
この記事でできるようになること(ゴール)
- ✅ マクロの正体(VBA)を理解できる
- ✅ Sub と Function の違いが分かる
- ✅ 変数の基本が分かる
- ✅ Public / Private の意味が理解できる
- ✅ Module・Worksheet・Workbook の違いが分かる
第10回のおさらい:マクロの正体とは?
前回は「マクロ記録機能」を使って、
操作を自動化する方法を学びました。
実は、記録されたマクロはすべて
👉 VBA(Visual Basic for Applications)
というプログラミング言語で書かれています。
つまり、マクロとは
👉 「VBAで書かれたプログラム」
なのです。
VBAは難しいのか?
結論から言うと、
👉 基本だけなら難しくありません
Excel操作を言葉で書いているだけです。
VBAの世界をのぞいてみる
マクロ記録をすると、次のようなコードが作られます。
Sub データ整理()
Columns("A:A").Select
Selection.Delete
End Sub
意味:
- A列を選択
- 削除する
👉 Excelで行った操作がそのまま記述されています。
Subとは?
Sub(サブルーチン)は、
👉 「処理を実行する命令のまとまり」
です。
基本形
Sub 名前()
処理内容
End Sub
例:メッセージを表示する
Sub Sample()
MsgBox "処理が完了しました"
End Sub
マクロとして実行すると、
メッセージが表示されます。
Functionとは?
Functionは、
👉 「結果(値)を返す処理」
です。
基本形
Function 名前()
名前 = 戻り値
End Function
例:数値を2倍にする関数
Function DoubleValue(x)
DoubleValue = x * 2
End Function
Excelのセルで:
=DoubleValue(10)
👉 結果:20
Sub と Function の違い
| 項目 | Sub | Function |
|---|---|---|
| 目的 | 処理の実行 | 値を返す |
| セルで使用 | 不可 | 可能 |
| 例 | データ整理 | 計算 |
変数とは?
変数は、
👉 「データを一時的に保存する箱」
です。
例
Dim 売上 As Long
売上 = 100000
よく使うデータ型
| 型 | 内容 |
|---|---|
| Integer | 整数 |
| Long | 大きな整数 |
| Double | 小数 |
| String | 文字列 |
| Date | 日付 |
初心者は Long と String を覚えれば十分です。
Public と Private(スコープ)
スコープとは、
👉 「どこから使えるかの範囲」
です。
Private
👉 同じモジュール内だけで使用可能
Private Sub Sample()
Public
👉 他のモジュールからも使用可能
Public Sub Sample()
Moduleとは?
VBAのコードを書く場所です。
最も一般的な保存場所です。
👉 通常のマクロはここに保存されます。
Worksheet モジュール
特定のシートに関連する処理を書く場所です。
例:
- セルが変更されたとき
- シートが開かれたとき
Workbook モジュール
ブック全体に関する処理を書く場所です。
例:
- ファイルを開いたとき
- 保存したとき
- 閉じたとき
それぞれの役割まとめ
| 場所 | 用途 |
|---|---|
| Module | 一般的な処理 |
| Worksheet | シート専用処理 |
| Workbook | ブック全体の処理 |
VBAができると何が変わるか
マクロ記録ではできない高度な処理が可能になります。
- 条件分岐(If)
- 繰り返し処理(For)
- 自動判定
- データ操作
- 複数ファイル処理
👉 Excelが簡易システムになります。
初心者が覚えるべき最小セット
まずはこれだけ理解すれば十分です。
- Sub:処理を実行
- Function:値を返す
- 変数:データを保存
- Module:コードの場所
管理職・経営者視点:業務改善の幅が広がる
VBAを理解すると、
- 定型業務の完全自動化
- 人に依存しない仕組み
- 作業時間の大幅削減
- 内製化によるコスト削減
が可能になります。
今日のまとめ
- マクロの正体はVBA
- Subは処理、Functionは値を返す
- 変数はデータを保存する箱
- Public / Private は使用範囲
- Module / Worksheet / Workbook は役割が違う
次回予告(最終回)
第12回では、このシリーズの集大成として
自動集計ツールの完成
を目指します。
- ボタン1つでデータ処理
- 集計・グラフ作成
- 出力まで自動化
- Excelを業務システムとして使う方法

