エクセルは「マクロの記録」を押してから操作した内容をVBAのコードに自動登録する機能が存在します。
マクロの書き方を知らなくても動かせるため、一見便利に見えるかもしれませんが、個人的にはオススメしません。
今回はなぜ「マクロの記録」をオススメしないのか説明していきます。
理由①:無駄なコードが多すぎる
それでは「マクロの記録で作成したコード」と「自作したコード」を比較してみましょう。
どちらのコードを実行しても結果は同じですが、無駄な行が目立ちますし、本来の記述方法から大きくかけ離れた書き方になってしまっています。
1 2 3 4 5 6 7 8 9 10 11 |
Sub sample() '【マクロの記録で作成したコード】 Range("A1").Select ActiveCell.FormulaR1C1 = "サンプル" Range("B1").Select ActiveCell.FormulaR1C1 = "さんぷる" Range("B2").Select End Sub |
こちらの自作したコードを比較すると、やりたいことだけ記述しているので、シンプルで無駄がありません。
1 2 3 4 5 6 7 8 9 10 11 |
Sub sample() ’【自作したコード】 Dim a As String: a = "サンプル" Dim b As String: b = "さんぷる" Worksheets(1).Range("A1") = a Worksheets(1).Range("B1") = b End Sub |
ちなにみ、どちらのコードを使っても結果は同じです。
極論を言ってしまえば「動けば良い」となってしまうかもしれません。ただ、少しでもマクロに興味を持ったのであれば、適切な書き方を覚えた方が、日常業務で活用できる場面が出てくると思っています。
理由②:カスタマイズが困難
次にお伝えしたいのが、「カスタマイズが困難」だと言うことです。
マクロの登録中はマウスで選択したセルの情報など、本来は不要な情報がコード内に含まれてしまうため、「何がやりたいのか」を読解するのが難しくなります。
そのため、一度作成した物を後で加工しようとした際に、どこを修正したら良いのか悩むことになります。
理由③:何も身に付かない
個人的にはこれが一番勿体ないと思うところですが、時間を掛けて自動記録で作成したマクロを見ても「何も身に付きません。」
「マクロの登録」で作成したコードは何のために行っているのか不明瞭な記述が多く、汎用性がありません。
そこでしか使えないコードを作るために、時間を掛けるのは勿体ないです。
まとめ
今回は「マクロの登録」をオススメしない理由について説明してきました。
「マクロの登録」=「絶対にそんな書き方はしない」というコードばかりなんです。
その場限りしか使えないコードよりも、あとから使いまわしのできるコードを書けるようになった方が、(楽な道ではありませんが)自身の成長にも繋がります。
コメント