皆さんこんにちは。今回は皆さん大好きVBAの注意事項を書きたいと思います。
簡単に自己紹介ですが私は会社員15年程経験しその中でExcelVBAを使い沢山の効率化を図ってきました。Excelの資格も取得していますので有益な情報になると思います。
この記事の対象者
- VBA初心者の方~中級者の方
- 独学の方
- VBAを使ったシステムを誰かに使ってもらったり納品したりする可能性のある方
では早速、VBAのダメなコーディング例をお見せします。
以下はダメなコーディング例です。
Sub test01()
Range("B5") = "ダメな例"
End Sub
なぜダメなコーディングかお分かりでしょうか?
説明は後述しますが正しい例を見ていきましょう。
正しい例は以下です。
Sub test02()
Worksheets("01").Range("B5").Value = "正しい例"
End Sub
違いがわかりますか?
- セル番地のみ記述されていてワークシート名の記述がない
- Range(“B5”)の後に.(ドット)Valueの記述がない
上記の事を無視する事でどのような弊害が起こるか考えてみました。
起こる可能性のある弊害
- VBAでシステムを製作途中ではエラーが出ないが第三者に使ってもらう場合やシステム納品後にエラーが出る可能性大
- 実現しようとしている事の考え方自体は合っているのにエラーが出る事により遠回りなコードを書いてしまう可能性がある
上記の事が考えられますので必ず正しい記述方法で書いて下さい。
VBAは多少省略しても動く場合があるのが助かったり、有難迷惑だったりします。
まとめ
- ワークシート名まで記述する
- セル指定の場合は.(ドット)Valueまで記述する
初めにルールを守らなければ後々、かなり修正が面倒になりますので必ず守って下さい。

