こんにちは。
ごんた@VBAレッスン です。
お読みいただき本当にありがとうございます😊
VBAを学び始めた方が、
「えっ、そんなに違うの…?」と驚く瞬間があります。
それが “記録マクロより、手書きVBAの方が圧倒的にきれいに書ける”と気づく場面です。
今回はその代表例として、太字設定を題材に、
マクロ記録の落とし穴と、手書きVBAの美しさを比べてみます。
■ マクロ記録は便利だけど “ごみ” も吸い込む
Excelのマクロ記録は、操作をそのままコード化してくれる便利な機能です。
ただし、実際の操作を細かく記録しすぎるため、
- 不要なプロパティまで記録
- .Select /.Selection の乱発
- 冗長で読みにくいコード化
といった 「ごみ」まで吸い込んでしまうのが欠点です。
初心者さんは、
「これ全部覚えないといけないの…?」
と不安になりがちですが、大丈夫です。
これは “掃除機のごみパック” のようなもの。
必要なものと不要なものが全部まとめて入ってしまうだけなんです。
■ 【例】A1 を太字にするだけなのに…😳
▼ マクロ記録で作られるコード(ごみ多め)
```vba
Sub Recorded_Bold()
Range("A1").Select
With Selection.Font
.Bold = True
.Italic = False
.Underline = xlUnderlineStyleNone
.Strikethrough = False
End With
End Sub
```
◇ 問題点
- Range("A1").Select → 選択しなくてよい
- Italic / Underline / Strikethrough → 変更していない属性まで記録
- With~End With が大げさ
「太字にしたいだけなのに6行」
これが初心者さんを混乱させる典型例です。
▼ 本来必要なのはこれだけ(1行)✨
```vba
Sub Clean_Bold()
Range("A1").Font.Bold = True
End Sub
```
◇ 特徴
-.Select 不要
- 変更したいプロパティだけ記述
- シンプルで読みやすい
- 修正しやすく壊れにくい
ここで必ず言うのが、
「えっ…こんなに短くていいんですか?」
という感動のひと言です。
■ マクロ記録は “調べるための道具” と割り切る🔍
マクロ記録は、実装のためではなく、
- どのプロパティを使うのか調べる
- オブジェクトの構造を確認する
- 手書きVBAのヒントを得る
といった “参照ツール” として使うのが最適です。
「記録=正解」だと思いがちですが、
実務では “必要な部分だけ取り出して使う” のがコツです。
■ まとめ📝
- マクロ記録は便利だけど 不要なごみコードが多い
- 実務で使うコードは 短く・シンプルに書き直すのが正解
- 太字設定のような単純操作でも
- 記録 → 5〜6行
- 手書き → 1行
という大きな差が出る
- マクロ記録は 掃除機のごみパック
→ 吸った後は、必要な部分だけ取り出せばOK
🌱レッスンのご紹介はこちらから!
次回も、「なるほど!」と感じられる内容をお届けします。
また次の記事でお会いしましょう😊