マクロを作るときは、コードを書き始める前に「準備 → 処理 → 出力」の3ステップで流れを整理しましょう。この設計図を先に描くだけで、途中で迷わずにコードが書けるようになり、後から修正や追加もしやすくなります。
この記事では、次の内容を順番に解説します。
- マクロ設計の基本的な考え方(3ステップ)
- 設計図をもとにしたコードの組み立て方
- 設計を意識することのメリット
マクロ設計の基本の考え方は?
マクロには次のような「組み立ての型」があります。この3ステップを意識するだけで、構造がぐっとわかりやすくなります。
- 準備:どのシート・範囲を対象にするかを設定する
- 処理:どんなルールで処理をするか
- 出力:結果をどう見せるか、または保存するか
特に「出力」が明確になっていないと最終ゴールがわからないので、まずは「最終的にどのような状態になっていればいいか?」を考えるところから始めてみましょう。
例:税込計算マクロを設計する
「売上データを読み込み、税込金額を計算して、別のシートに出力する」マクロを作るとします。
- 準備:元データ(売上シート)を読み込む
- 処理:消費税10%を加算する
- 出力:結果を集計シートに書き出す
このように工程ごとに分けて考えることで、マクロの全体像が見えてきます。
設計図をもとにコードを組み立てるには?
上記の設計図をそのままコードにするとこうなります。
Sub CalcTaxAndExport()
Dim src As Worksheet
Dim tgt As Worksheet
Dim i As Long
Dim price As Double
' 準備:対象シートを設定する
Set src = Worksheets("売上")
Set tgt = Worksheets("集計")
' 初期化:出力先をクリアする
tgt.Range("A2:B1000").ClearContents
' 処理:2行目から最終行まで税込計算して出力する
For i = 2 To src.Cells(Rows.Count, 1).End(xlUp).Row
price = src.Cells(i, 2).Value
tgt.Cells(i, 1).Value = src.Cells(i, 1).Value ' 商品名
tgt.Cells(i, 2).Value = price * 1.1 ' 税込価格
Next i
MsgBox "税込計算と出力が完了しました"
End Sub
コメントで「準備」「初期化」「処理」と区切るだけで、後から読んでも流れがすぐにわかります。
設計を意識するとどんないいことがある?
- ミスやエラーを事前に防げる:「何を先に、何を後にやるか」が決まっていると、処理の順番ミスを防げます。
- 他の人が読んでもわかりやすい:コメントと構造から流れが理解しやすくなり、引き継ぎや修正がスムーズになります。
- 条件の追加や変更に対応しやすい:処理をブロックごとに分けておくと、後から条件を追加するときも迷いません。
' 処理の追加例:税込価格が1000円以上なら「高額」と表示する
If price * 1.1 >= 1000 Then
tgt.Cells(i, 3).Value = "高額"
Else
tgt.Cells(i, 3).Value = "通常"
End If
まとめ
難しい設計図は必要ありません。「準備・処理・出力」の3つを紙に書き出すだけで十分です。
- 設計の3ステップ:準備(どこから)→ 処理(どう処理する)→ 出力(どこへ)。
- コメントで区切る:コードにコメントで工程を書くだけで、格段に読みやすくなる。
- ゴールから考える:「最終的にどうなっていればいいか」を先に決めると、設計がスムーズになる。
よくある質問
設計図はどこに書けばいい?
紙でもメモ帳でも構いません。「やりたいこと」を箇条書きで3〜5行書くだけで十分です。慣れてきたらVBAのコードの冒頭にコメントとして書いておくと、設計図とコードが一体化して管理しやすくなります。
処理が複雑でステップが3つ以上になる場合は?
ステップが増えてもOKです。「準備→処理A→処理B→出力→後処理」のように細かく分けても構いません。重要なのは「順番と役割」が明確になっていることです。処理が増えてきたら、役割ごとに別のSubに分けてCallで呼び出す方法も有効です。
コードを書き始めてから設計を変えたくなった場合は?
よくあることなので大丈夫です。コードを書きながら「この方がいい」と気づくことはむしろ良いサインです。設計が変わったらコメントも一緒に更新しておくと、後から読んだときに混乱しません。
小さなマクロでも設計を考えた方がいい?
10行以下のシンプルなマクロなら設計を意識しなくても大丈夫です。ただし「後から修正するかもしれない」「他の人が使うかもしれない」場合は、短いマクロでもコメントを入れておくと親切です。
設計が決まらないまま作り始めてもいい?
最初は「とりあえず動かしてみる」ことも大切です。試しに作ってみると「本当にやりたいこと」が見えてくることがあります。ある程度動いたら一度立ち止まって、設計を整理してからコードをきれいにまとめ直すという進め方も有効です。
動画で学びたい方へ
「記事を読んでも、実際に自分で書けるか不安…」という方には、動画で基礎からじっくり学べる講座がおすすめです。
VBAが初めての方を前提に、つまずきやすいポイントを先回りして解説しています。サンプル動画は無料でご覧いただけます。



