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種類があります。
どちらが正しいというより、自分の性格や目的に合った方法を選ぶことが大切です。
作業内容が少ない場合には動かしながら行う「試行錯誤タイプ」で、作業内容が煩雑になる場合には、設計してから組む「設計重視タイプ」でなど使い分けるのも一つです。
ポイントを整理すると次のとおりです。
- 動かしながら考える方法はスピード重視。試行錯誤が好きな人に向いている
- 設計してから書く方法は再利用やチーム開発に向いている
- 自分の設計タイプを知っておくと、迷わずマクロを組み始められる
どちらのタイプでも、徐々に相手に伝わるマクロを意識することで、コードの質は確実に上がっていきます。
