【Excelマクロ】書きながら動かす?事前に組む?VBA設計タイプ

VBAを使ってマクロを組むとき、人によって取り組み方はさまざまです。

「とりあえず書いて動かしながら直す」タイプもいれば、「紙に手順を書いてからコードを書く」タイプもいます。

私自身はとりあえず書いて動かしながら直すタイプですが、どちらが正しいということではなく、それぞれにメリットと注意点があります。

今回は、自分がどのタイプかを見極めつつ、それぞれに合った進め方を整理していきます。

動かしながら考える「試行錯誤タイプ」

このタイプは、まずマクロを動かしてみて、出てきた結果を見ながら少しずつ修正していくスタイルです。

実際に目に見える変化がすぐに確認できるため、感覚的に理解したい人にはぴったりです。

たとえば、次のようなコードをまず書いてみて、うまく動かなければ直していくという流れです。

Dim i As Long

For i = 2 To 10
    Cells(i, 2).Value = Cells(i, 1).Value * 2  ' 元データを2倍にしてB列へ
Next

この方法のメリットは、とにかく手が早いことです。最短距離で形にすることができ、学びも多くなります。

ただし、後から見たときに「なぜそうしたのか」がわからなくなったり、コードが複雑化しがちです。

また、大規模な処理や他人との共有を考えると、やや不安定になることがあります。

向いている人

  • まずは動くものを見たい人
  • 覚えるより慣れたい人
  • 小規模な作業を自動化したい人

設計してから組む「設計重視タイプ」

こちらのタイプは、作り始める前に紙やメモなどで手順を整理し、処理の流れを設計してからコードに起こしていきます。

一見まどろっこしく見えますが、全体像が見えるので修正や改善がしやすいという強みがあります。

たとえば、次のような流れで手順を整理してからコードにします。

① 元データの最終行を取得  
② A列を2倍にしてB列に出力  
③ 結果をMsgBoxで表示

そして、次のようなコードになります。

Dim lastRow As Long
Dim i As Long

lastRow = Cells(Rows.Count, 1).End(xlUp).Row

For i = 2 To lastRow
    Cells(i, 2).Value = Cells(i, 1).Value * 2
Next

MsgBox "処理が完了しました"

このスタイルは他人にもわかりやすく、あとで再利用しやすいのが大きな魅力です。

ただし、初学者の場合は「考えてばかりで前に進まない」状態に陥ることもあるので注意が必要です。

向いている人

  • 全体像を先に把握したい人
  • 複数人で使うマクロを作りたい人
  • 長期的に保守・改善する予定がある人

実装するメリット

自分のVBA設計タイプを知っておくことで、次のようなメリットがあります。

  • 自分に合った進め方で学習効率が上がる
  • 得意なやり方をベースに、必要に応じて調整できる
  • プロジェクトの規模や性質に応じて最適な方法を選べる
  • 無理に「正しさ」に合わせず、自分の成長ステップを踏める

特に実務では「納期」「チーム」「使い回しの有無」などの事情によって、設計スタイルを切り替えることも求められます。

まとめ

VBAの書き方には、「動かしながら直す」スタイルと、「設計してから書く」スタイルの2種類があります。

どちらが正しいというより、自分の性格や目的に合った方法を選ぶことが大切です。

作業内容が少ない場合には動かしながら行う「試行錯誤タイプ」で、作業内容が煩雑になる場合には、設計してから組む「設計重視タイプ」でなど使い分けるのも一つです。

ポイントを整理すると次のとおりです。

  • 動かしながら考える方法はスピード重視。試行錯誤が好きな人に向いている
  • 設計してから書く方法は再利用やチーム開発に向いている
  • 自分の設計タイプを知っておくと、迷わずマクロを組み始められる

どちらのタイプでも、徐々に相手に伝わるマクロを意識することで、コードの質は確実に上がっていきます。

コメントする

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

上部へスクロール