AIに頼りすぎないVBA!「記録マクロ」をメンテナンスしやすい「事務屋さんのコード」に変える方法
前回の記事で「まずはマクロを記録してみよう!」とお伝えしました。
実際にやってみると、意外と長いコードが出来上がって驚いた方も多いのではないでしょうか?
1. 「マクロの記録」が書いたコード
Sub Macro1()
ActiveCell.FormulaR1C1 = "123456"
Range("A2").Select
ActiveCell.FormulaR1C1 = "赤文字"
ActiveCell.Characters(1, 0).PhoneticCharacters = "アカモジ"
' ...(中略)...
With Selection.Interior
.Color = 255
' その他多くの設定項目...
End With
End Sub
2. AIが最適化した「事務屋さんらしい」コード
AIに「無駄を削って」と頼むと、驚くほどスッキリしました!
Sub Macro1_Optimized()
' A列へのデータ入力
Range("A1").Value = "123456"
Range("A2").Value = "赤文字"
Range("A3").Value = "青文字"
Range("A4").Value = "太文字"
' B5セルの背景色を赤に設定
With Range("B5").Interior
.Color = 255
.Pattern = xlSolid
End With
End Sub
どこが「無駄」だったのか?
✅ 「Select」をしない
VBAでは「セルを選んで(Select)から書く(ActiveCell)」という手順は不要です。直接指定する方が画面もチラつかず高速です。
✅ 「ふりがな」情報を消す
自動記録される .PhoneticCharacters は、日本語入力補助が不要なら削除してOK。これだけで可読性が激変します。
✅ 背景設定の断捨離
色を変えるだけなら、実は .Color の設定だけで十分なことが多いのです。
⚠️ 「短ければいい」わけじゃない!
AIに「もっと短くして」と頼むと、こんなコードを返してくれます。
Range("A1:A4").Value = [{"123456"; "赤文字"; "青文字"; "太文字"}]
Range("B5").Interior.Color = 255
Range("B5").Interior.Color = 255
確かに短いですが、「配列」などの専門知識が必要になり、パッと見て何をしているか分かりづらくなります。
実務でのメンテナンス性や、後輩への引き継ぎを考えるなら、先ほどの「事務屋さんらしいコード」くらいがベスト。あまり凝りすぎると、後で自分が苦労することになります!
💡 まとめ
マクロの記録はあくまで下書き。AIを使って「適度にお掃除」しながら、自分にとって分かりやすい書き方を学んでいきましょう!
コメント
コメントを投稿