VBAマクロの設計図の考え方|準備・処理・出力の3ステップで迷わずコードを書く方法

マクロを作るときは、コードを書き始める前に「準備 → 処理 → 出力」の3ステップで流れを整理しましょう。この設計図を先に描くだけで、途中で迷わずにコードが書けるようになり、後から修正や追加もしやすくなります。

この記事では、次の内容を順番に解説します。

  • マクロ設計の基本的な考え方(3ステップ)
  • 設計図をもとにしたコードの組み立て方
  • 設計を意識することのメリット

マクロ設計の基本の考え方は?

マクロには次のような「組み立ての型」があります。この3ステップを意識するだけで、構造がぐっとわかりやすくなります。

  1. 準備:どのシート・範囲を対象にするかを設定する
  2. 処理:どんなルールで処理をするか
  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が初めての方を前提に、つまずきやすいポイントを先回りして解説しています。サンプル動画は無料でご覧いただけます。

動画で学ぶExcelマクロ|JIMOVEオンラインスクール

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール