AIに頼りすぎないVBA!「記録マクロ」をメンテナンスしやすい「事務屋さんのコード」に変える方法

前回の記事で「まずはマクロを記録してみよう!」とお伝えしました。
実際にやってみると、意外と長いコードが出来上がって驚いた方も多いのではないでしょうか?

今回は、記録したコードをAI(Gemini)に渡し、「無駄を削除して」とリクエストした結果、どう変わったのかを解説します。

1. 「マクロの記録」が書いたコード

Macro Result Sheet
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

確かに短いですが、「配列」などの専門知識が必要になり、パッと見て何をしているか分かりづらくなります。
実務でのメンテナンス性や、後輩への引き継ぎを考えるなら、先ほどの「事務屋さんらしいコード」くらいがベスト。あまり凝りすぎると、後で自分が苦労することになります!

💡 まとめ

マクロの記録はあくまで下書き。AIを使って「適度にお掃除」しながら、自分にとって分かりやすい書き方を学んでいきましょう!

コメント

このブログの人気の投稿

Webサイトでは「ダブルクリック」は不要?シングルクリックが基本の理由

【Excel】エクセル(Excel)で同一セルを調べる方法