VBAを学びたいと思った人のために学習する前に知っておいてほしいことを紹介します。
この記事を書いている私自身はVBAを使用して5年以上、実務ではVBAを使ったツールを開発しています。
私自身、プログラマーではなく非IT系の企業で、しかも文系。独学でVBAを勉強しました。
そんな私がこれからVBAを勉強する人のために知っておくべきことを紹介します。
目次
VBAとは?
VBAを勉強したいと思った人だから、VBAという言葉は聞いたことはあるはずです。
では、マクロという言葉との違いはわかりますでしょうか?
VBA(Visual Basic for Application)というプログラミング言語で、Microsoft Office製品に搭載されています。
そして、マクロとは操作を自動化する機能のことです。
「マクロを記録する」という機能があると思います。ユーザー自身が操作した内容を記録する機能です。
この操作の手順が書かれているのがVBAです。
少しわかりにくいですが、これから学ぶことはVBAだと思っていてください。
ちなみにVBEという言葉もありますが、これは「Visual Basic Editor」のことでプログラミングを編集する画面のことです。
もちろんエクセルにVBEは搭載されていて、VBAはこの画面で編集します。
VBAでできること
VBAを使うと、どんなことができるのでしょうか?
例えば…
- 何万行もあるデータを自動で別のシートに転記する
- フォルダ内にある重複ファイルを探す
- フォームを使って簡単な業務システムを構築する
- WEB上からデータを自動で取得する
etc…
思った以上にいろんなことができます。
VBAをどうやって学習するか?
実際に初心者の人がVBAを学習するとしたら、どうすれば良いでしょうか?
- プログラミングのスクールに通う
- VBAに関するWebサイトで学習をする
- 書籍を購入して学習する
- VBAが使える職場の同僚や友人に教えてもらう
こういった方法があると思います。
私自身は、Webサイトと書籍を利用して独学で勉強しました。
VBAに関するWebサイトはいくつもあって、どれも丁寧に詳しく紹介しています。
私が普段から使っているWebサイトをまとめたので、紹介しておきます。
また、書籍に関しても、書店に行けばVBAに関連する書籍が多くあります。
私自身も何冊もVBAの本を購入したので、初心者の頃に使っていた書籍を紹介したいと思います。
Webサイトや書籍以外だとスクールなども考えられます。
ただ、経済的な面を考えると他の学習手段に比べると高くなってしまうので、よほど自主的に学習することができないとか、経済的に余裕がある場合に限られてくると思います。
同僚や友人に教えてもらうというのもいいと思います。
私は近くに使える人がいなかったため、独学で勉強するしかありませんでした。
そのため疑問が出たときに、なかなか答えが出ずに悩むということが多くありました。
ただ、そういった悩みを一つ一つ解決していったからこそ身についたという経験もあります。
何でも教えてもらうようだと学習にならない、ということは頭に入れておいたほうがいいでしょう。
VBAを挫折しないで学習するコツ
業務でエクセルを使用しているなら、毎日ルーチンワークで行っていることを自動化できないかを考えてみましょう。
自動化できるところが見つかったら、それをVBAで実現してみます。
VBAでも他のプログラミング言語でもそうですが、ただ学習するより目的を持って勉強したほうが挫折しないで続けられます。
それに実践で役立つものを作るほうが、学習効率も良いです。
VBAを使用するための準備
開発画面を使えるようにする
VBAで開発するためにはVBEという開発画面でプログラミングを入力する必要があります。
リボンに開発タブを設定しましょう。
保存形式は「.xlsm」
ファイルを保存するときは、マクロ有効ブックの「.xlsm」形式にしてください。
いつもは「.xlsx」「.xls」などのファイル形式で保存しますが、VBAを記述したファイルは形式が違うので注意してください。
セキュリティを確認する
マクロはとても便利ですが、それを悪用したウイルスもあるので、セキュリティには注意が必要です。
といっても自分が作成したものは基本問題ないのですが、他の人からVBAファイルをもらったり、自分が作成したものを渡す場合、セキュリティ設定を確認してください。
エクセルはセキュリティの面からマクロを有効にしない(実行できない)設定になっていることがあります。
この設定を変更しておくことで、マクロを実行することができます。
まとめ
VBAを学習する前に知っておくべきことを紹介しました。
私自身、独学で身につけて実務で活かせるようになるまで時間はかかりましたが、とにかく経験を積むことと継続することが大事です。
プロのプログラマーでなくても、ある程度プログラミングができるようになると事務処理が圧倒的に早くなります。
業務の中でルーチンワークがあるなら、VBAで自動化することができないかを考えながら学習をしてみてください。
それが習得への一番の近道だと思います。