VBAはExcel、Access、Word、Outlook、PowerPointに搭載されているプログラミング言語です。
ほとんどの人はExcel VBAまたはAccess VBAのどちらかでVBAを触ってみようかなと思われるのではないでしょうか。
わたしは、最初に入社した会社がAccessを中心としてシステムを構築している会社だったのでAccess VBAから学び始める必要がありました。
転職してからExcel VBAを利用することが多くなりました。
2つのVBAを業務で使用してみて、どちらからはじめたほうが良いかについて書いてみました。
Excel VBAからはじめることをオススメ #
わたしはExcel VBAからはじめることをオススメします。
必要になったらAccess VBAを学ぶということで良いです。
なぜExcel VBAからはじめたほうが良いのか #
Excel VBAとAccess VBAの難易度を比較したとき、Access VBAのほうが難しいです。
以下の要因がAccess VBAの難易度を高くしています。
勉強することが多い #
Accessはテーブル・クエリー・フォーム・レポート・マクロ・モジュール(VBA)の項目で構成されています。
Accessでプログラムを作成する場合
- 各項目(テーブル・クエリー・フォーム・レポート・マクロ・モジュール)の勉強
- 各項目間の連携
について学ぶ必要があります。
VBA以外にも覚えることが多く、データベースの知識を必要とすることも相まって学習コストは必然的に高くなります。
Excel VBAであればシート上のデータの扱いとVBAについて学べば
だいたいの処理を行うことができるので、学習コストはAccessに比べて低いです。
データベースの知識が必要 #
Accessでプログラムを作成する場合はデータベースの知識が必要になります。
データベースを扱うので、SQLの知識も必要です。
クエリー作成でグラフィカルにSQLを組めますがユニオンクエリなどは自分で記述する必要がでてきます。
また、VBAにもSQLを直接書いてデータを操作することもあります。
デバッグが大変 #
Accessを構成している項目が多いのでテストの量が多くなりデバッグが大変です。
昨年Access VBAで久しぶりに案件管理のアプリを作成しましたが
Excel VBAと比べると確認する項目が多く、デバッグに苦労しました。
入門するならExcel VBA #
Excel VBAとAccess VBAで、どちらから学ぼうか迷っている方がいらっしゃいましたら
学習しやすいExcel VBAから入門することをオススメします。